我一直在想如何閱讀XML文件,但在你回答之前,請閱讀整篇文章。Java 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"));
}
你是什麼意思 「它不是工作」(原文如此)?獲得例外?沒有返回任何數據?計算機着火? – Tenner
你仍然在消息節點上運行,你必須迭代node.getChildNodes() –
任何人都可以回答這個問題嗎? [此處輸入鏈路描述] [1] [1]:http://stackoverflow.com/questions/24757825/how-to-read-xml-attribute-values-hierarchically-like-parentnodename -childnodeatt –