我通过 XML API 接收数据,它返回如下节点:
<?xml version='1.0' encoding='utf-8' ?>
<location>
<name>ØL Shop</name>
</location>
我无法控制响应,但我正在尝试将其加载到 XDocument 中,但由于无效字符而失败。
我能做些什么来正确加载这个负载吗?我想使解决方案尽可能通用,因为可能存在其他无效字符。
想法?
您可以使用更能容忍无效输入的 html 解析器。例如; (使用HtmlAgilityPack)此代码可以正常工作。
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(xml);
var name = doc.DocumentNode.Descendants("name").First().InnerText;
您不能在 XDocument.Parse 输入文本中使用“ & ”符号。将其替换为“ & ;” , 像这样
<?xml version='1.0' encoding='utf-8' ?>
<location>
<name>&Oslash;L Shop</name>
</location>
为什么不在将响应加载到XDocument
. 您可以为此使用正则表达式,应该相对简单。