gpt4 book ai didi

Java XPath - 查找前缀为的标签

转载 作者:行者123 更新时间:2023-12-01 19:28:24 26 4
gpt4 key购买 nike

我有以下 HTML

<data-my-tag>
<data-another-tag>
... content ...
</data-another-tag>
<data-my-tag>
... content ...
</data-my-tag>
</data-my-tag>

现在我需要查找以前缀 <data- 开头的所有标签。我需要找到它们的名字以及它们的内容。我知道用正则表达式不可能实现这一点,所以我开始使用 javax.xml.parsers 。我很容易根据特定名称找到一些标签,但我无法找到以某些前缀开头的标签。

查找以前缀开头的标签的表达式或代码是什么?

最佳答案

您可以使用 XPath 的 starts-with功能:

public void findElements(InputSource source,
String prefix) {

try {
XPath xpath = XPathFactory.newInstance().newXPath();
NodeList matches = (NodeList) xpath.evaluate(
"//*[starts-with(local-name(), '" + prefix + "')]",
source, XPathConstants.NODESET);

int count = matches.getLength();
for (int i = 0; i < count; i++) {
Node match = matches.item(i);
System.out.println("Element: " + match.getNodeName());
System.out.println("Text: " + match.getTextContent().trim());
System.out.println();
}
} catch (XPathException e) {
throw new RuntimeException(e);
}
}

关于Java XPath - 查找前缀为的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60655919/

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