我一直想知道如何阅读 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/