1

作为 XML 方面的专家,我一直在学习基本教程。xpath上有这个。幸运的是,我的 Linux 设置有一个运行良好的“xpath”命令,直到我获得属性。

xpath -e 'inventory/snack/chips@supplier'  lemonade2.xml 

给出错误

Parse of expression inventory/snack/chips@supplier failed - junk after end of expression: @supplier at /usr/share/perl5/XML/XPath/Parser.pm line 127.

我的 lemonade2.xml 是直接从该站点复制粘贴的。没有'@supplier',xpath 可以正常工作。

也许有一些微妙的缺失字符或其他东西,或者我已经以某种方式将 xpath 弄坏了。也许教程很旧并且使用过时的 xpath 语法?不,那会破坏很多现有的代码,不是吗?会不会干扰 bash 语法?我究竟做错了什么?

4

1 回答 1

2

访问属性是 XPath 中的一个路径步骤,您缺少属性前面的斜杠。

xpath -e 'inventory/snack/chips/@supplier'  lemonade2.xml 

<inventory/>最外层的元素吗?然后你可能还想在它前面声明根:

xpath -e '/inventory/snack/chips@supplier'  lemonade2.xml 
于 2013-05-03T07:00:37.850 回答