【发布时间】:2016-10-30 12:20:06
【问题描述】:
我正在使用 API,出于某种疯狂的原因,返回的 XML 中包含 & 未正确转义的字符。这让我处于一个恼人的境地。当我尝试使用 XMLDocument 解析 xml 字符串时出现异常。
我可以使用替换来删除字符,但这可能会导致问题。
xml = xml.Replace("&", "&").Replace("&", "&");
这样做的问题是最终可能会出现一些转义值。像这样的节点会导致上面那行代码搞砸了。
<node>Something & something < annoying</node>
如果我将 & 字符替换为 amp;它会破坏lt;。我不能对 lt 使用相同的方法;就像我对放大器所做的那样,这意味着它将转换我仍然需要转义的所有 括号。
这是一个有问题的节点。
<CompanyName>Fire & Ice</CompanyName>
【问题讨论】:
-
您能否发布错误 XML 的示例?
-
我已经在
示例中给出了一个示例。这是我需要能够处理的 xml。我提供了另一个我目前面临的问题的例子 -
Replace(" & ", "&") 怎么样?
-
请请求该 XML 的创建者修复它。这是正确的唯一方法。
-
要么你必须调用 XMLTidy 或其他东西。或者编写您自己的标记化分隔符并替换每个只是 & 字符的标记。