【发布时间】:2009-11-12 11:03:31
【问题描述】:
我有一个 XML 文档要处理,其中包含以下属性:
<action name="foo -> bar">
如果我做一个简单的:
XmlDocument doc = new XmlDocument();
doc.Load(stInPath);
doc.Save(stOutPath);
属性字符串被转义:
<action name="foo -> bar">
这正是我想要阻止的。
您知道有什么方法可以做到这一点(除了之后在 xml 文件上进行整个查找和替换)?
编辑:这似乎是一种合法的行为,我不必担心这一点(请参阅 Jon Skeet 的回答)
【问题讨论】:
-
坦率地说,我有点惊讶于文档完全加载。
-
但确实如此,并且如果您查询这些属性,则会保留这些属性。并不是说我认为这样做是个好主意,但这是客户的文件。
-
你为什么不想逃避它?逃避它是正确的做法。我什至不确定属性中的“->”是否是有效的 xml。
-
@Fredrik:这是有效的 XML; ">" 除了在某些特定情况下,不需要 转义。见w3.org/TR/2008/REC-xml-20081126
-
@Vinzz:我试过了;似乎在加载文档时字符已经被转义了。
标签: c# xml xmldocument