Java XML 读取

标签 java xml

我一直想知道如何阅读 XML 文件,但在回答之前,请阅读整篇文章。

例如我有:

<?xml version="1.0" encoding="UTF-8"?>

<messages>

<incoming id="0" class="HelloIlikeyou" />

</messages>

我想要的是从标签中获取所有值。我想把它放在一个字典中,哪个键是传入/传出,然后它将包含一个 Pair 列表作为值,作为键的 id 值和作为值的类值。

所以我得到了这个:

HashMap<String, List<Pair<Integer, String>>> headers = new HashMap<>();

然后它将存储这个:

HashMap.get("incoming").add(new Pair<>("0", "HelloIlikeyou"));

但我不知道该怎么做,我已经得到了一个零件,但它不起作用:

File xml = new File(file);
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(xml);
        doc.getDocumentElement().normalize();

        NodeList nodes = doc.getElementsByTagName("messages");

        for (int i = 0; i < nodes.getLength(); i++) {

            Node node = nodes.item(i);

                System.out.println("Type: " + node.getNodeValue() + " packet ID " + node.getUserData("id"));    
            }

最佳答案

您可以使用 JAXB,我认为这是最好的方法。看看这个: Jaxb tutorial

关于Java XML 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17346523/

相关文章:

java - 有哪些好的 Java 库可以从网页中搜索和抓取数据。

java - 自定义 ParseQueryAdapter 未填充 Android ListView

XML 文档的 CSS 样式表 + 转义标签

java - 将 'asynchronous' 定义为并发是否不正确?

java - 如何使用 Ajax 和 Struts2 将表单数据发送到 ActionSupport

c# - 复制一个节点并将其保存为一个新的 xml 文件 c#

java - 如何使用 XMLOutputter 禁用转义

ruby-on-rails - Rails 4,将 "\n"替换为 "&#10;",用于 excel 中的 XML 电子表格

php - 用php删除xml中标签值之间的空格

java - 在自定义可扩展列表适配器中扩展 View 时遇到问题