如何使用dom& amp;基于属性名称检索节点元素的值xml解析
<ROOT>
<A>
<aa name="xyz">k,l,m </aa>
<aa name="pqr">a,b,h </aa>
<aa name="abc">s,t,r </aa>
...
</A>
<B>
<bb name="t1">r,st,t</bb>
...
</B>
</ROOT>
... 实施的片段尝试了:
NodeList nodeList = <xmlDoc>.getElementsByTagName("aa");
for (int i = 0; i < nodeList.getLength(); i++)
{
Node node = nodeList.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE)
{
Element element = (Element) node;
System.out.println(element.getTextContent());
//? getNodeValue()//?如何通过将属性名称作为匹配条件来获取,
// f.e:如何为属性名为a,b,h
的节点aa
打印pqr
答案 0 :(得分:0)
对于属性,它将是:element.getAttribute("name");
如果您想按属性搜索,那么
XPath xpath = XPathFactory.newInstance().newXPath();
NodeList nl = (NodeList)xpath.compile("//aa[@name='pqr']").evaluate(doc, XPathConstants.NODESET);
//Rest of the code same
*请根据需要更改xpath。我自己没有运行它,但你明白了。