gpt4 book ai didi

javascript - 为什么 xpath 选择空格?

转载 作者:行者123 更新时间:2023-11-30 06:40:25 25 4
gpt4 key购买 nike

我有一个 XML 国家列表,如下所示:

<countries>
<country>
<code>CA</code>
<country>Canada</country>
</country>
... etc...
</countries>

我想选择节点并遍历它们,所以使用

path "/countries/*"

然后在 JavaScript 中:

nodes = xml.evaluate(path, xml, null, XPathResult.ANY_TYPE, null);

当我迭代时,我发现第一个和第三个节点是空白(换行符),第二个和第四个节点是我想要的实际 XML。

如何使用 XPath 忽略空白节点?我只对 XML 部分感兴趣,我不能保证 XML 会包含换行符。

最佳答案

你不能使用像这样的简单程序吗?

NodeList countries = (NodeList) xpath.evaluate("//countries/country",
builder.parse(inputStream),
XPathConstants.NODESET);

for (int i = 0; i < countries.getLength(); i++) {
Node country = notes.item(i);
String code = (String) xpath.evaluate("./code/text()", country,
XPathConstants.STRING);
String name = (String) xpath.evaluate("./country/text()", country,
XPathConstants.STRING);

System.out.println(String.format("%s has country code %s", name, code));
}

与输入

<countries>
<country>
<code>CA</code>
<country>Canada</country>
</country>
<country>
<code>FR</code>
<country>France</country>
</country>
<country>
<code>IT</code>
<country>Italy</country>
</country>
<country>
<code>US</code>
<country>United States</country>
</country>
</countries>

输出

Canada has country code CA
France has country code FR
Italy has country code IT
United States has country code US

关于javascript - 为什么 xpath 选择空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11700814/

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