在我的代码中已经实现了 filedrop,我需要解析在 main() 中放入的 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");
}
}
}
我无法打印任何内容,当我打印时,我看到“NULL”或只是空行或一些路径@数字
我不是开发人员,我只需要尝试打开一个 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>
最佳答案
元素“帐户”中没有标记为“帐户”的元素。 您在这里要阅读的是帐户的属性,而不是其他元素。 因此,如果您想读取属性 v,则应该使用 eElement.getAttribute("v"),而不是 getElementsByTagName()
关于Java 通过文件删除解析 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38658335/