在我的代码中已经实现了filedrop,我需要解析我放在main()中的xml文件。
主要()
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");
}
}
}
我无法打印任何内容,当我出现时,我看到“NULL”或只是空行或某些路径@ numbers
我不是开发人员,我只需要尝试打开xml发送内容到数据库,但这已经太过分了。
编辑:添加了部分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>
答案 0 :(得分:1)
“帐户”元素中没有标记为“帐户”的元素。 您想在此处阅读的是帐户的属性,而不是其他元素。 因此,如果要读取属性v,则应使用eElement.getAttribute(“v”),而不是getElementsByTagName()