gpt4 book ai didi

java - 根据内容查找xml节点

转载 作者:行者123 更新时间:2023-11-29 03:28:01 25 4
gpt4 key购买 nike

我想用 SAX-Parser 解析 XML 并找到包含特殊内容的节点。

示例 XML:

<root>
<someElement>
#hashKey1
</someElement>
<someElement>
value1
</someElement>
<someElement>
#hashKey2
</someElement>
<someElement>
value2
</someElement>
<someElement>
#hashKey3
</someElement>
<someElement>
value3
</someElement>
</root>

问题是,我不知道它是什么类型的节点/元素,我的内容在哪里。我只想找到包含我的内容的第一个元素/节点。

我是否必须编写自己的函数“findNodeByContent”,或者是否有提供此类函数的 SAX-Parser 实现?

最佳答案

使用 JDK 中的 Xpath 支持而不是 SAX。您可以找到具有此表达式的元素

//*[contains(text(), 'value2')]

它将找到所有具有包含文本“value2”的文本节点的元素。

下面是一些示例代码:

    XPath p = XPathFactory.newInstance().newXPath();
InputSource in = new InputSource(...);
NodeList list = (NodeList) p.evaluate("//*[contains(text(), 'value2')]", in, XPathConstants.NODESET);
for(int i=0; i < list.getLength(); ++i) {
System.out.println(list.item(i));
}

关于java - 根据内容查找xml节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19955158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com