使用xmlstarlet根据匹配字符串删除xml节点?
我正在尝试删除使用xmlstarlet根据匹配字符串删除xml节点?,xml,xmlstarlet,Xml,Xmlstarlet,我正在尝试删除和之间的所有内容,如果其中包含短语“像素完美”我在删除基于匹配单个标记的整个块时遇到了麻烦 将删除第一个…,但不会删除第二个,因为它与父块中的特定xml标记不匹配。使用xmlstarlet有什么快速修复方法吗 <AdditionalApplication> <Id>63463edb-28fa-4029-9405-1360b9eb092a</Id> <PlayCount>0</PlayCount> <Gam
和
之间的所有内容,如果其中包含短语“像素完美”我在删除基于匹配单个标记的整个块时遇到了麻烦
将删除第一个…
,但不会删除第二个,因为它与父块中的特定xml标记不匹配。使用xmlstarlet有什么快速修复方法吗
<AdditionalApplication>
<Id>63463edb-28fa-4029-9405-1360b9eb092a</Id>
<PlayCount>0</PlayCount>
<GameID>1b9277aa-4c31-467b-bcad-3cbca7589d08</GameID>
<ApplicationPath>eXo\eXoDOS\!dos\themist\Extras\Alternate Launcher.bat</ApplicationPath>
<AutoRunAfter>false</AutoRunAfter>
<AutoRunBefore>false</AutoRunBefore>
<Name>Pixel Perfect & Shader Options</Name> // BECAUSE THIS LINE MATCHES, Remove entire <AdditionalApplication> ... </AdditionalApplication> block
<UseDosBox>false</UseDosBox>
<UseEmulator>false</UslaeEmutor>
<WaitForExit>false</WaitForExit>
<SideA>false</SideA>
<SideB>false</SideB>
<Priority>0</Priority>
</AdditionalApplication>
<AdditionalApplication>
<Id>f1dd929c-3d1a-461a-a943-3e7ad99e4426</Id>
<PlayCount>0</PlayCount>
<GameID>1b9277aa-4c31-467b-bcad-3cbca7589d08</GameID>
<ApplicationPath>eXo\eXoDOS\!dos\themist\Extras\mist-refcard.pdf</ApplicationPath>
<AutoRunAfter>false</AutoRunAfter>
<AutoRunBefore>false</AutoRunBefore>
<CommandLine />
<Name>Reference Card</Name>
<UseDosBox>false</UseDosBox>
<UseEmulator>false</UseEmulator>
<WaitForExit>false</WaitForExit>
<Developer />
<Publisher />
<Region />
<Version />
<Status />
<SideA>false</SideA>
<SideB>false</SideB>
<Priority>0</Priority>
</AdditionalApplication>
63463edb-28fa-4029-9405-1360b9eb092a
0
1b9277aa-4c31-467b-bcad-3cbca7589d08
eXo\eXoDOS\!dos\themist\Extras\Alternate Launcher.bat
假的
假的
像素完美&;着色器选项//由于此行匹配,请删除整个。。。块
假的
假的
假的
假的
假的
0
f1dd929c-3d1a-461a-a943-3e7ad99e4426
0
1b9277aa-4c31-467b-bcad-3cbca7589d08
eXo\eXoDOS\!dos\themist\Extras\mist-refcard.pdf
假的
假的
参考卡
假的
假的
假的
假的
假的
0
我认为以下几点可以让你达到目的:
xml ed -d '//AdditionalApplication[.//Name[contains(text(),"Pixel Perfect")]]' myfile.xml
“像素完美”是否总是节点“名称”的一部分?