簡體   English   中英

sed - 替換特定父標簽下 XML 中的子標簽值

[英]sed - Replace Child tag value in XML under specific Parent tag

嘗試將父標簽“類”下的子標簽“零件”的值從 8005 更改為 8008。

Child Tag“Part”在多個Parents下使用,所以需要引用Parent來指定要更改哪個Child tag。

我將 Init_48.xml 文件簡化為僅包含一個父級。

如果我沒有在 sed 命令中引用 Parent,則更改成功。

有誰知道為什么在引用 Parent 標簽時更改不成功,並為解決方案提供替代代碼?

請查看包含 sed 命令和結果的包含圖像,鏈接sed 和結果

為什么改變不成功?

父標簽與子標簽之間用換行符和空格隔開。 不起作用的正則表達式顯示它們相鄰,它們之間沒有任何內容。

為解決方案提供替代代碼

使用可識別 XML 的工具來處理 XML。 例如,在 xsh(我碰巧維護的基於XML ::LibXML的工具)中,您可以使用

open file.xml ;
for //Class/Part[.=8005] set . 8008 ;
save :b ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM