2014-11-08 51 views
0

我使用DOM解析器來解析XML文件。示例代碼如下:如何獲取NamedNodeMap中的所有「鍵」?

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder builder = factory.newDocumentBuilder(); 
Document document = builder.parse(inFile); 

NodeList nodeList = document.getDocumentElement().getChildNodes(); 
Node node = nodeList.item(0); 

if (node.getNodeType() == Node.ELEMENT_NODE) { 
    NamedNodeMap nodeMap = node.getAttributes(); 
} 

API documentation記載,該方法getNamedItem()getNamedItemNS() 期望的「鑰匙」作爲輸入參數,然後可將其用於獲得「值」使用getNodeValue()

但是,這期望我已經知道我正在尋找的「關鍵」。我想改爲獲取NamedNodeMap所持有的「鍵」的列表。例如,對於下面的XML行:

<row Id="1" UserId="1" Name="Organizer" Date="2009-07-15T06:51:46.370" /> 

欲獲得具有"Id", "UserId", "Name", "Date"List<String>一個。

NamedNodeMap包含此信息,如屏幕截圖所示,但我無法弄清楚如何獲取此信息。是否有可能做到這一點?

NamedNodeMap contents in debugger

回答

0

只要打電話NamedNodeMap.item(),它會返回由索引的屬性節點(從0到getLength() - 1

+0

的getLength()給出了「行」的XML文檔的數量,而不是每行中的屬性。對不起,我不知道正確的XML術語,但我希望我的意思很清楚。 – 2014-11-08 15:34:46

+0

哦,等一下,我想我明白你的意思了。讓我試試看,並確認它是否有效。 – 2014-11-08 15:37:43

相關問題