0
我試圖讓這個XML文件解析與Java問題的XML文件
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
<CD>
<TITLE>Hide your heart</TITLE>
<ARTIST>Bonnie Tyler</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
</CD>
<CD>
<TITLE>Unchain my heart</TITLE>
<ARTIST>Joe Cocker</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>EMI</COMPANY>
<PRICE>8.20</PRICE>
<YEAR>1987</YEAR>
</CD>
</CATALOG>
要使用此輸出解析
parsing cd_catalog.xml
Document root node is: CATALOG
First CD Data:
Empire Burlesque
Bob Dylan
USA
Columbia
10.90
1985
Second CD Data:
Hide your heart
Bonnie Tyler
UK
CBS Records
9.90
1988
Last CD Data:
Unchain my heart
Joe Cocker
USA
EMI
8.20
1987
Total Number of CDs is: 26
我有這樣的代碼,低於該做解析,但是它輸出每個CD的「第一張CD數據」,我需要去「第一張CD數據」,「第二張CD數據」和「最後一張CD數據」。
private static void printNodes() {
Element root = document.getDocumentElement();
System.out.println(root.getNodeName());
//Get all CDS
NodeList nList = document.getElementsByTagName("CD");
System.out.println("============================");
for (int temp = 0; temp < 2; temp++)
{
Node node = nList.item(temp);
System.out.println("");
if (node.getNodeType() == Node.ELEMENT_NODE)
{
//Print each CD's details
Element eElement = (Element) node;
System.out.println("First CD data is : " + eElement.getAttribute("TITLE"));
System.out.println(eElement.getElementsByTagName("ARTIST").item(0).getTextContent());
System.out.println(eElement.getElementsByTagName("COUNTRY").item(0).getTextContent());
System.out.println(eElement.getElementsByTagName("COMPANY").item(0).getTextContent());
System.out.println(eElement.getElementsByTagName("PRICE").item(0).getTextContent());
System.out.println(eElement.getElementsByTagName("YEAR").item(0).getTextContent());
}
}
}
我的計劃是採取了循環我已經下降到1所以它打印了所有的第一張CD的數據,然後再拍for循環的下一張CD,但我不知道如何找到CD在數組列表中,然後我會爲最後一張CD做些什麼。
你的循環被明確打印 「初次CD的數據是:」 每一次 - 嘗試改變它根據循環迭代選擇不同的字符串。 – Quietust