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