2016-07-29 112 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