有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中的xml Xpath返回搜索结果标记位置

我想在XML文件中搜索一个文本值,并返回每个搜索结果的位置

我有一个xml文件:

<tag>
    <tag>
        <tag>333</tag>
    </tag>

    <tag>
        <tag>
            <tag>333</tag>
       </tag>
   </tag>
</tag>

我会搜索值“333”:

String expression = "//tag[text()=333]/ancestor::*";
NodeList email = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET);
String resultString = "";
for(int i=0; i< email.getLength();i++){

        Element labTest = (Element) email.item(i);
        resultString  += labTest.toString().replace("[tag: null]","tag[0]") + " ";
    }

我希望它返回2个节点,每个节点包含元素的位置。如果搜索333,则输出为:

tag[0] tag[0]
tag[0] tag[0] tag[0] 

搜索返回时:

tag[0] tag[0] tag[0] tag[0]

我怎样才能做到这一点?我应该换一种方式来解决这个问题吗


共 (0) 个答案