0

有一些不好的 xml ,例如:

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>

也许没有 XmlDocument 是可能的?

4

1 回答 1

1

它不是一个 xml 。它似乎是一个 html。您可以将其解码为

var html = HttpUtility.HtmlDecode(input);

并且很可能您将需要HtmlAgilityPack来解析它。

下面的示例从您的字符串中提取一些有用的东西

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();
于 2012-11-29T09:49:21.640 回答