我有大量的 XML 文件,我需要删除具有特定内容的属性。
<Image Width="214.57"
Height="165"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Source="{DynamicResourceExtension ResourceKey=images_4bd6348715-testImage.jpg}"
Canvas.Left="8"
Canvas.Top="24" />
第一种情况:
操作员可以输入images_4bd6348715-testImage.jpg并删除属性Source。
属性可以有任何名称。
第二种情况:
文本可以在节点内。节点可以有任何名称:
<Image Width="214.57"
Height="165"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Canvas.Left="8"
Canvas.Top="24" >
<Image.Source2>
<DynamicResource>
<DynamicResource.ResourceKey>
images_4bd6348715-testImage.jpg
</DynamicResource.ResourceKey>
<DynamicResource>
</Image.Source2>
</Image>
在这两种情况下,我只知道在属性或节点内部我将拥有DynamicResource或DynamicResourceExtension
我如何使用正则表达式查询来做到这一点?
我的尝试:第一种情况:
\w+[.]?\w+\s*[=]\s*["]\s*[{]\s*[_.\s{=}a-zA-Z0-9]*images_4bd6348715-testImage.jpg[_.\s{=}a-zA-Z0-9]*\s*}\s*["]