0
我試圖使用DOM解析解析這個XML:DOM解析Java中2個問題
<Hospitals>
<Hospital>
<name>Hospital1</name>
<tel-number>0272222222</tel-number>
</Hospital>
<Hospital>
<name>Hospital2</name>
<tel-number>0273333333</tel-number>
</Hospital>
<Hospital>
<name>Hospital3</name>
<tel-number>0270000000</tel-number>
</Hospital>
</Hospitals>
而且我使用的測試驗證碼,只想得到第一醫院的名字:
public void viewXmlData(Document doc) {
Node na = doc.getElementsByTagName("Hospital").item(0);
NodeList nList1 = na.getChildNodes();
int index = getNodeIndex(nList1, "name");
Node nb = nList1.item(index);
NodeList nList2 = nb.getChildNodes();
String hospitalName = nList2.item(0).getTextContent();
Toast.makeText(MainActivity.this, hospitalName, Toast.LENGTH_LONG)
.show();
}
private int getNodeIndex(NodeList nList, String nodeName) {
for (int i = 0; i < nList.getLength(); i++) {
if (nList.item(i).getNodeName().equals(nodeName))
return i;
}
return -1;
}
工作正常。但我有兩個問題:
1-爲什麼index
等於1不是0,那麼第一個節點是什麼呢?
2-爲什麼我要創建nList2
?我以爲我達到了確切的節點:Node nb = nList1.item(index);
我知道使用Element類將使事情變得更簡單,但我仍然需要知道答案。
也許第一節點(索引0)是''和''之間的空格。 –