1
我試過使用xmlstarlet
,並且遇到困難。我有以下XML提要。用xmlstarlet和特定屬性解析xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RESPONSE VERSION="L100" REQUEST="show volume-statistics">
<OBJECT basetype="volume-statistics" name="volume-statistics" oid="1" format="rows">
<PROPERTY name="volume-name" display-name="Name">VOL0</PROPERTY>
<PROPERTY name="volume-IOPS" display-name="IOPS">100</PROPERTY>
</OBJECT>
</RESPONSE>
我需要選擇IOPS值,其中名稱等於VOL0
並打印量-IOPS的值。
我曾嘗試下面的命令:
xmlstarlet sel -t -m "RESPONSE/OBJECT/PROPERTY/[@display-name='VOL0']" -v "RESPONSE/OBJECT/PROPERTY[@volume0IOPS] test.xml
示例輸出
100
總是告訴我們您收到了哪些錯誤消息。你應該已經意識到括號是不匹配的(通過不執行你的代碼的shell,但仍然等待輸入)。解決這個問題之後,'xmlstarlet'會打印出一個通知,說明你的第一個XPath表達式是無效的(謂詞之前的'/'不應該在那裏)。 –