我试图在我的mac上使用xpath命令从xml文档返回一些属性数据而不为其编写脚本。文档具有以下节点:
<BaseTable id="32821" name="Web Service Send Log">
我想返回节点的name
和id
属性。
我能够使用以下命令获取每个命令:
$ xpath FileName.xml //BaseTable/@id
$ xpath FileName.xml //BaseTable/@name
但是当我尝试返回两个属性时,我得到一个错误,说parens是垃圾:
$ xpath FileName.xml //BaseTable/(@id|@name)
我已经搜索过,没有找到正确的语法,xpath
命令没有相关的手册文件。
这是否可以直接从命令行执行此操作,如果是这样,语法将如何显示?
答案 0 :(得分:1)
(@id|@name)
是XPath 2.0语法,而Perl xpath
使用1.0。这是另一种选择:
xpath -e '//BaseTable/@*[name()="id" or name() = "name"]' FileName.xml