2016-07-29 113 views
0

在我的代碼中已經實現了落葉落葉草,我需要解析我放在main()中的xml文件。Java解析XML文件丟失

的Main()

case "XML": 
    text.append("Processing file type XML: "+files[i].getCanonicalPath() + "\n"); 
    ReadXml read_xml = new ReadXml(); 
    read_xml.read(files[i].getCanonicalPath(), text); 
    break; 

ReadXml.java

public class ReadXml { 

    ProgramDocument programDocument = new ProgramDocument(); 
    public void read(String FILE, javax.swing.JTextArea text) { 

    try { 
     JAXBContext context = JAXBContext.newInstance(ProgramDocument.class); 
     Unmarshaller u = context.createUnmarshaller(); 

     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
     dbf.setNamespaceAware(true); 
     DocumentBuilder db = dbf.newDocumentBuilder(); 
     Document doc = db.parse(FILE); 
     Object o = u.unmarshal(doc); 
     doc.getDocumentElement().normalize(); 
     text.append("Account : " +doc.getElementsByTagName("Account").item(0)); 

    } 
    catch(Exception e) { 
     text.append("XML file not parsed correctly.\n"); 
     } 
    } 
} 

我無法打印任何東西,當我,我看 「空」,或只是空行或某些路徑@號碼

我不是開發人員,我只需要嘗試打開一個XML發送內容到數據庫,但這是已經太遠了。

EDIT:XML

<?xml version="1.0" encoding="UTF-8"?> 
<ARRCD Version="48885" Release="38"> 
<Identification v="ORCOZIO"/> 
<Version v="013"/> 
<Account v="OCTO"> 
<Type v="MAJO"/> 
<Date v="2016-05-14"/> 
</AARCD> 

回答

1

的增加的部分沒有在元件 「帳戶」 標記的 「帳戶」 元素。 你想在這裏閱讀的是帳戶的屬性,而不是其他元素。 因此,如果您想要讀取屬性v,而不是getElementsByTagName(),則應該使用eElement.getAttribute(「v」)

+0

幫助了我很多!謝謝! – Nihvel