Java 通过文件删除解析 xml

标签 java xml unmarshalling

在我的代码中已经实现了 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/

相关文章:

java - 字符串的二叉搜索树(BST)搜索方法

Android - 修改 "Graphical Layout"中的布局后,代码会在滚动时自动更改。如何避免这种情况?

python - 使用 Python 查找和转换 XML 处理指令

java - JaxbUnmarshaller 和 Package-info 不起作用

json - 如何在 Golang 中根据对象类型解码 JSON

java - 混合 8 位 8000Hz PCM_ULAW 样本的最简单方法是什么?

java - JSF 自定义 Servlet 映射到文件

java - Android 变量作用域;或者,我的绳子到底在哪里

java - 如何获取 Spinner 所选项目的 View

java - 无法将(带有命名空间的 XML)输入流解码到对象中