使用 perl 的 xpath 命令返回多个属性



我正在尝试在Mac上使用xpath命令从xml文档中返回一些属性数据,而无需为其编写脚本。文档具有以下节点:

<BaseTable id="32821" name="Web Service Send Log">

我想返回节点的nameid属性。

我能够使用以下命令获取每个:

$ xpath FileName.xml //BaseTable/@id
$ xpath FileName.xml //BaseTable/@name

但是当我尝试返回这两个属性时,我收到一个错误,指出括号是垃圾:

$ xpath FileName.xml //BaseTable/(@id|@name)

我四处搜索,没有找到正确的语法,xpath命令没有关联的手动文件。

是否可以直接从命令行执行此操作,如果是这样,语法会是什么样子?

(@id|@name)是XPath 2.0语法,而Perl xpath使用1.0。这是一个替代方案:

xpath -e '//BaseTable/@*[name()="id" or name() = "name"]' FileName.xml

相关内容

  • 没有找到相关文章

最新更新