我有一个大的 xml 文件,如果它们不包含嵌套子元素内容的正确开始,我需要删除一些子元素。
我的 xml 文件如下所示:
<product>
<catalogEntry>
<idPath><![CDATA[K212/G425638/G425649/G426239/G426265/G601769]]></idPath>
<namePath><![CDATA[Web Katalog DK/Solar Plus/Solar Plus EL/Afsnit 12 - Kommunikations- & sikringsmateriel/Racks/Vægracks]]></namePath>
<ImagePath><![CDATA[K212-{\pics\_catalogmanager\sz2\ikon_solarplus.jpg}{\pics\_catmandk_kampagner\sz2\ikon solar plus_el.jpg}{\pics\_catmandk_solar plus\sz2\solarplusel_afs.13.jpg}{\pics\cubic cabinet\sz2\5709832021591p.jpg}{\pics\mass creation\sz2\0000101760-6he2060020med20plade20a.jpg}]]></ImagePath>
</catalogEntry>
<catalogEntry>
<idPath><![CDATA[K352/G600248/G600247]]></idPath>
<namePath><![CDATA[Solar plus mini guide/Rack og tilbehør/Vægrack]]></namePath>
<ImagePath><![CDATA[K352-{}{}]]></ImagePath>
</catalogEntry>
<catalogEntry>
<idPath><![CDATA[K212/G425642/G444580/G444590/G444598]]></idPath>
<namePath><![CDATA[Web Katalog DK/Kommunikation/Rack, tilbehør, kabel management/Vægrack/Solar Plus Vægrack]]></namePath>
<ImagePath><![CDATA[K212-{\pics\_catalogmanager\sz2\ikon_kommunikation.jpg}{\pics\_catalogmanager\sz2\kommunikation_rack-skabe_.jpg}{\pics\lk dataconnect\sz2\5703302138918p.jpg}{\pics\mass creation\sz2\0000101760-6he2060020med20plade20a.jpg}]]></ImagePath>
</catalogEntry>
<catalogEntry>
<idPath><![CDATA[K193/G389888/G395066/G585958/G586999/G600567]]></idPath>
<namePath><![CDATA[PRODUCTS NOT VISIBLE IN WEB KATALOG DK/Grp7 - Kabel § Føringsveje § Data/157R - Rune Agersnap/Kampagnemails/Afsluttede kampagner/Nye Solar plus vægrack - Gældende til op med d. 05.05.19]]></namePath>
<ImagePath><![CDATA[K193-{}{}{}{}{\pics\mass creation\sz2\0000101760-10he2050020med20plade20fri.jpg}]]></ImagePath>
</catalogEntry>
<catalogEntry>
<idPath><![CDATA[K212/G425639/G426577/G426699/G426927/G426940/G600572]]></idPath>
<namePath><![CDATA[Web Katalog DK/EL/(10.00 - 29.99) Stærkstrømsmateriel/12.00 Kapslings- og tavlemateriel/12.30 Rack-skabe inkl. tilbehør/Vægrack/Solar plus vægracks]]></namePath>
<ImagePath><![CDATA[K212-{\pics\_catalogmanager\sz2\ikon_el.jpg}{\pics\_catalogmanager\sz2\10.00_29.99.jpg}{\pics\_catalogmanager\sz2\12.00.jpg}{\pics\cubic cabinet\sz2\5709832045535p.jpg}{\pics\cubic cabinet\sz2\5709832045399p.jpg}{\pics\mass creation\sz2\0000101760-6he2060020med20plade20a.jpg}]]></ImagePath>
</catalogEntry>
我只需要保留元素包含我需要删除<![CDATA[K212
的其他元素的元素<catelogEntry>
我已经尝试在查找和替换中对此语句进行一些变体
<catalogEntry>(?:(?!</catalogEntry>.)+[^K212](?:(?!<catalogEntry>).)+</catalogEntry>\R
但我得到一个无效的表达式。
<(catalogEntry)>(?:(?!\1)(?!\[K212).)+</\1>\R?
LEAVE EMPTY
. matches newline
解释:
截图(之前):
截图(之后):