2014-11-08 53 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

相关问题