File fXmlFile = new File(path);//path is a String
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document XMLbook = dBuilder.parse(fXmlFile);
Node root = XMLbook.getFirstChild(); //(1)
Node book = XMLbook.getElementsByTagName("BOOK").item(0);//(2)
Node lastChapter=book.getLastChild();//(3)
Node lastSubChapter=lastChapter.getLastChild(); //(4)
...
}
的問題是它達到lastSubChapter
空,因此我的程序結束壞:(我不知道我做錯了什麼......代碼似乎不錯。試圖讓一個XML節點在Java中
另外,我不`噸得到什麼NULL表示:節點值
- [ROOT:NULL] - 我所看到的在調試時
- ?[書:NULL] - 我所看到的調試
- 時[ #text:] - wh在我看到調試時 - 這是什麼意思?
- 問題!這裏
lastSubChapter
得到NULL :(爲什麼
我從讀取XML文件是:?
<?xml version="1.0"?>
<ROOT>
<TITLE>Portocalia ca zapada</TITLE>
<BOOK>
<Chapter name="1">
<Subchapter name="1.1">
<paragraph>Primul paragraf!</paragraph>
</Subchapter>
</Chapter>
<Chapter name="2">
<Subchapter name="2.1">
<paragraph>A fost o data ca niciodata</paragraph>
</Subchapter>
<Subchapter name="2.2">
<paragraph>In luna a13a ea s-a maritat.</paragraph>
</Subchapter>
<Subchapter name="2.3">
<paragraph>In continuare, bineinteles</paragraph>
<paragraph>asa cum se intampla in toate povestile</paragraph>
</Subchapter>
</Chapter>
</BOOK>
</ROOT>
我想要得到的最後一個節點Subchapter
,其名稱爲 「2.3」 的一個
有另一種更安全的方式,我可以得到它呢?
您有什麼特別的理由可以使用DOM嗎?你可以使用JAXB嗎? – AlexR 2014-11-06 16:56:32
它會是什麼樣子? 這僅僅是一個學校項目... i've使用什麼我已經通過谷歌上搜索發現... i've從來沒有工作過個XML在Java中 – Lulu 2014-11-06 16:59:01
之前,我建議SAX解析器對於這種類型的XML數據。因爲它小而簡單。 SAX解析器將允許您通過元素(標記)名稱解析數據。非常簡單易用。 – Lokesh 2014-11-06 17:03:13