0

我有一个 xml 文件,如下所示。我想使用 xmllint 来解析它,如果类别是“SciFi”,它将显示“isbn”数字。

经过一番挣扎,我可以弄清楚如何仅打印类别仅打印isbn编号;但无法弄清楚如何添加条件。

<book>
 <name>
  <category>SciFi</category>
  <isbn>12345678</isbn>
 </name>
 <name>
  <category>Mystery</category>
  <isbn>23456789</isbn>
 </name>
<book>

编辑:我拥有的 xmllint 版本支持 xpath

我在原来的帖子中犯了一个错误;更正了上面的xml

xmllint --version 产生

xmllint:使用 libxml 版本 20626

我使用以下命令打印信息

猫 /book/name[1]/category
猫 /book/name[2]/category

猫 /book/name[1]/isbn
猫 /book/name[2]/isbn
4

1 回答 1

0

这听起来像是一个糟糕的工具。如果你安装了 xmllint,你有 xsltproc 吗?我想那会更有用。

另外,为了确定,你试过 cat /book/name[category='SciFi']/isbn 吗?

于 2013-03-11T22:52:51.467 回答