我已经在几个地方看过这种语法(例如,这里):
xmllint --xpath '/plist/array/string/text()' tmp.xml,用于使用xpath选择器查询特定的XML节点.但是,Unknown option --xpath当我尝试在我的机器上执行此操作时,我收到错误(mac os x snow leopard).
仔细查看xmllint的手册页,我没有看到记录的--xpath选项...
我在这里完全错过了一些东西吗?
小智 8
xmllint --shell tmp.xml <<<'xpath /plist/array/string/text()'
Run Code Online (Sandbox Code Playgroud)
如果你需要让xmllint读取stdin:
cat /tmp/tmp.xml | xmllint --shell <(cat) <<<'xpath /plist/array/string/text()'
Run Code Online (Sandbox Code Playgroud)
对于某些人来说,更新不是一种选择.您必须使用给定版本,该版本由其他团队安装,您可以使用它.
你可以试试--shell:
xmllint --shell tmp.xml << EOF
'/plist/array/string/text()'
EOF
Run Code Online (Sandbox Code Playgroud)
嗯,是的,一定是过时的版本存在问题libxml2。
通过macports 更新libxml2(至v2.7.8)似乎已解决了该问题。