1

此命令按预期工作并返回 1 个节点。

# cat myfile.txt
<feed>
<entry>
<author>
<name>Amar joshi</name>
</author>
</entry>
</feed>

# xpath -e "/feed/entry[author/name='Amar joshi']" myfile.txt
Found 1 nodes in myfile.txt:

但事实并非如此。

<feed>
<entry>
<author>
<name>संतोष गोरे</name>
</author>
</entry>
</feed>

xpath -e "/feed/entry[author/name='संतोष गोरे']"  myfile.txt

文件和命令非常相似。unicode 文本应该没有问题。我已经使用我在这里找到的实用程序检查了它......

http://xpather.com/

4

1 回答 1

2

这可能是该实用程序所属的 Perl 模块XML::XPath中的一个错误。似乎命令行参数没有从 UTF-8 正确解码。它可能会运行xpath

PERL5OPT=-CA xpath -e "/feed/entry[author/name='संतोष गोरे']"  myfile.txt
于 2021-07-18T08:20:29.273 回答