【发布时间】:2015-06-10 22:58:12
【问题描述】:
我正在解析一个 XML 文件,以将其与另一个 XML 文件进行比较。 XML Diff 工作得很好,但我们发现一个文件中存在很多垃圾标签,而不是另一个文件,它们与我们的结果无关,但会使报告变得混乱。我已将 XML 文件加载到内存中以对其执行一些其他操作,并且我想知道是否有一种简单的方法可以同时浏览该文件,并删除所有以开头的标签,例如 color= .颜色的值是全图的,不容易抓到都去掉。
在 XML Diff 中似乎没有任何方式可以指定“忽略这些标签”。
我可以翻阅文件,找到每个实例,找到它的结尾,将其删除,但我希望会有更简单的东西。如果没有,那好吧。
编辑:这是一段 XML:
<numericValue color="-103" hidden="no" image="stuff.jpg" key="More stuff." needsQuestionFormatting="false" system="yes" systemEquivKey="Stuff." systemImage="yes">
<numDef increment="1" maximum="180" minimum="30">
<unit deprecated="no" key="BPM" system="yes" />
</numDef>
</numericValue>
【问题讨论】:
-
选择
//*['contains(local-name(), "color")]等XPath的所有节点并删除? -
用什么?你可以在 c# 中的字符串替换中使用 xpath 吗?
-
所以您想使用字符串操作来编辑 XML - 祝您好运。我无法阻止您这样做,但请考虑其他更具体的 XML 工具,例如 XDocument/XmlDocument 类。
-
不绑定任何东西。因为我已经为其他目的加载了它,所以很容易。