【发布时间】:2013-04-22 14:00:07
【问题描述】:
我通过 XML API 接收数据,它返回如下节点:
<?xml version='1.0' encoding='utf-8' ?>
<location>
<name>ØL Shop</name>
</location>
我无法控制响应,但我正在尝试将其加载到 XDocument 中,但由于无效字符而失败。
我能做些什么来正确加载这个负载吗?我希望解决方案尽可能通用,因为可能存在其他无效字符。
想法?
【问题讨论】:
-
老实说,您应该查询xml文件的生产者以生成有效的xml文件。您可能会成功修补输入,但这是一个不可行的解决方案。
-
我同意。使用的编码仅在 HTML 中有效,在 XML 文件中无效。此字符应编码为,例如,
&#216;。 -
@SteveB 我同意这里的 real 解决方案是修复响应。但是,我不会说这不是一个可行的解决方案。在处理之前从响应中取消任何无效字符非常容易。将来,如果第 3 方确实解决了问题,它只是成为一个健全性检查。从技术上讲,这也是未来的证明,因为他们还可以重新引入该检查会发现的问题。
-
令人惊讶的是,经过这么多年,人们仍然认为当他们真正创建看起来像 XML 的文本输出时,他们可以生成有效的 XML。 .
-
如果唯一的无效文本是应该使用 XML 编码的 HTML 编码,也许您可以搜索这些并用有效的等价物替换它们?