0
示例XML:需要找到XML元素的值
<parts>
<title>computer parts</title>
<components>
<hardware>motherboard</hardware>
<id>1234</id>
</components>
<part>
<item>motherboard</item>
<manufacturer>asus</manufacturer>
<model>p3b-f</model>
<cost> 123.00</cost>
</part>
<components>
<hardware>video card</hardware>
<id>2345</id>
</components>
<part>
<item>video card</item>
<manufacturer>ati</manufacturer>
<model>all-in-wonder pro</model>
<cost> 160.00</cost>
</part>
<components>
<hardware>sound card</hardware>
<id>3456</id>
</components>
<part>
<item>sound card</item>
<manufacturer>creative labs</manufacturer>
<model>sound blaster live</model>
<cost> 80.00</cost>
</part>
</parts>
在上面的示例XML,我需要在components
元素的值motherboard
第一搜索;如果在那里找到该值,那么我们需要搜索item
标记下的<part>
元素中的值,如果该值在item
标记中可用,那么我们应该得到model
标记的值。
注意:我突出显示了需要搜索的值和需要提取的值。
如何在Bash中做到这一点?
到目前为止您尝试过什么?你能告诉我们你的代码吗?你有没有尝试过使用'xmlstarlet'? –
请勿使用bash;相反,使用xmllint或xmlstartlet和xpath来完成此操作。理想情况下,您应该使用具有XML解析器的脚本语言。 – NinjaGaiden
你可以举一个例子,使用你给出的示例xml吗?我不明白你是否在寻找名为'motherboard'的标签或价值。 – Anubis