.net XmlDocument在不验证的情况下加载Xml
有一些不好的xml,例如:.net XmlDocument在不验证的情况下加载Xml,.net,xml,.net,Xml,有一些不好的xml,例如: NaN</td><td id="DemTechLimit8">NaN</td><td id="DemCommercLimit8">NaN</td><td id="AoValue8">NaN</td></tr&g
NaN</td><td id="DemTechLimit8">NaN</td><td id="DemCommercLimit8">NaN</td><td id="AoValue8">NaN</td></tr><tr><td id="DemInt9">8:00 - 9:00
</td><td id="DemValue9">1</td><td id="DemValueDeclined9">NaN</td><td id="CalcValue9">NaN</td><td id="LoadLoss9">NaN</td><td id="DemTechLimit9">NaN</td><td id="DemCommercLimit9">NaN</td><td id="AoValue9">NaN</td></tr><tr><td id="DemInt10">9:00 - 10:00
</td><td id="DemValue10">1</td><td id="DemValueDeclined10">NaN</td><td id="CalcValue10">NaN</td><td id="LoadLoss10">NaN</td><td id="DemTechLimit10
如何在没有任何验证或dtd的情况下将其加载到XmlDocument中
它是用于数字签名的,所以我不能替换特殊字符或格式化它
下面是关于JS的示例,但我需要.NET代码:
xmldoce.async = false;
xmldoce.validateOnParse = false;
xmldoce.preserveWhiteSpace = false;
xmldoce.resolveExternals = false;
xmldoce.loadXML(...);
编辑:
我需要将该内容加载到由模式定义的对象:
<complexType name="ObjectType" mixed="true">
<sequence minOccurs="0" maxOccurs="unbounded">
<any namespace="##any" processContents="lax"/>
</sequence>
</complexType>
也许没有xml文档是可能的?它不是xml,似乎是html。你可以把它解码为
var html = HttpUtility.HtmlDecode(input);
很可能您需要对其进行解析
下面的示例从字符串中提取一些有用的内容
var html = HttpUtility.HtmlDecode(input);
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var result = doc.DocumentNode.Descendants("tr")
.Select(tr=>tr.Descendants("td").Select(td => td.InnerText).ToList())
.ToList();
如果它不是有效的xml,则在清理它之前,它不会加载到
XmlDocument
。即使在这里也会很艰难。