如何获得所有"键"在NamedNodeMap中?

时间:2014-11-08 13:30:16

标签: java dom xml-parsing

我使用DOM Parser来解析XML文件。示例代码如下:

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" />

我想获得List<String> "Id", "UserId", "Name", "Date"

NamedNodeMap具有此信息,如屏幕截图所示,但我无法弄清楚如何获取此信息。有可能这样做吗?

NamedNodeMap contents in debugger

1 个答案:

答案 0 :(得分:0)

只需调用NamedNodeMap.item(),它将按索引返回属性节点(从0到getLength() - 1