获取dom节点的属性

时间:2011-05-05 09:06:31

标签: java xml jaxp

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

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

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

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,我不知道如何从中提取它。

3 个答案:

答案 0 :(得分:70)

您的节点是元素,因此您只需

Element e = (Element)node;
String name = e.getAttribute("name");

答案 1 :(得分:14)

你可以不使用元素来做到这一点:

//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()

答案 2 :(得分:1)