我有大量的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 ,并且应删除属性来源。
属性可以有任何名称。
第二种情况:
文本可以在节点内。节点可以有任何名称:
<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>
在这两种情况下,我只知道attribe或node i内部会有 DynamicResource 或 DynamicResourceExtension
如何使用Regex查询执行此操作?
我的观点: 第一种情况:
\w+[.]?\w+\s*[=]\s*["]\s*[{]\s*[_.\s{=}a-zA-Z0-9]*images_4bd6348715-testImage.jpg[_.\s{=}a-zA-Z0-9]*\s*}\s*["]