49

我正在尝试获取 xml 节点示例的属性:

<Car name="Test">
</Car>

我想获取汽车节点的名称属性。

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();          
Document doc = db.parse(configFile);
doc.getDocumentElement().normalize();           
NodeList layerConfigList = doc.getElementsByTagName("CAR");
Node node = layerConfigList.item(0);
// get the name attribute out of the node.

这就是我卡住的地方,因为看起来我可以使用的唯一方法是 getAttributes() 并返回一个 NamedNodeMap 并且我不知道如何从中提取它。

4

2 回答 2

84

你的节点是一个元素,所以你只需要

Element e = (Element)node;
String name = e.getAttribute("name");
于 2011-05-05T09:11:58.823 回答
17

您可以在不使用元素的情况下做到这一点,如下所示:

//HtmlTag represents any arbitrary node that you are trying to get its "car" attribute 

if("HtmlTag".equals(node.getNodeName()))
 String nodeContent=node.getAttributes().getNamedItem("car").getNodeValue()
于 2014-12-30T02:56:21.517 回答