获取 dom 节点的属性

2022-08-31 21:29:15

我正在尝试获取 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,我不确定如何从中提取它。


答案 1

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

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

答案 2

你可以在不使用元素的情况下做到这一点,就像这样:

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

推荐