使用Java中的XPath检查XML中是否存在节点

时间:2010-06-29 09:03:15

标签: java xml xpath

我必须分析不同形式的XML,

<AMDI>
...
<MI>
</MI>
</AMDI>

<AMDI>
...
<AD>
</AD>
</AMDI>

所以我想根据节点的类型构建一个XPath查询(如果它是MI:XML_ITEMS =“// MI / DL / D”,如果它是AD:XML_ITEMS =“// AD / DL / d“) 我正在使用DocumentBuilder和XPathExpression。 Thnx的帮助:)

2 个答案:

答案 0 :(得分:2)

您还可以列出不同的节点:

Node node = doc.getDocumentElement();
NodeList type = node.getChildNodes();
for(int i=0; i<nodes.getLength();i++)
     System.out.println(type.item(i).getNodeName();

并选择写节点:) Thanx很多

答案 1 :(得分:2)

在XPath 1.0中

//MI/DL/D  |   //AD/DL/D

在XPath 1.0中,这在语法上不合法

//(MI|AD)/DL/D

但是如果你有XPath 2.0引擎,你可以使用它。