我想使用xmlStarlet刪除XML文件中的特定元素,並且遇到XPath規範的問題。這是節點/元素,我需要刪除,即指定的XPath:如何在XPath中定義特定的XML元素以用xmlStarlet刪除?
<ShowFrame/>
<DoAction>
<actions>
<Stop/>
<EndAction/>
</actions>
</DoAction>
<ShowFrame/>
的問題是,有與行動的孩子,我不希望刪除其他DoAction元素。只有具有這兩個孩子的兒童動作的DoAction元素:Stop和EndAction。我不想刪除的DoAction元素在操作子項中有不同的子元素。
當我使用刪除xmlStarlet命令這個XPath規範僅停止後裔被刪除:
「/ SWF /頭/標籤/ DoAction /後裔::動作/後裔::停止」
但我想刪除完整的DoAction元素。實際上,我真的需要在DoAction元素後面刪除ShowFrame元素,以便在刪除後沒有剩餘兩個相鄰的ShowFrame元素。
我一直在研究XPath規範,但我不明白。我找到的例子使用屬性,但是這個XML文件中沒有屬性。
任何幫助,這將不勝感激。
感謝,
-Andres
謝謝har07。那就做到了! –