1

我正在尝试从 Steam 加载 XML 文件,但它抛出了这个异常 HRESULT: 0xC00CE584。从 localhost 和其他网站加载其他 xml 文件正在工作。我还尝试将所有 XMLSettings 设置为 true,但它不起作用。

这是我的代码:

Uri steamUriTemp = new Uri("http://api.steampowered.com/ISteamNews/GetNewsForApp/v0002/?appid=440&count=3&maxlength=300&format=xml");
var steamXML = await XmlDocument.LoadFromUriAsync(steamUriTemp);

这是我要加载的 XML 文件:http ://api.steampowered.com/ISteamNews/GetNewsForApp/v0002/?appid=440&count=3&maxlength=300&format=xml

这个 xml 文件有问题吗?有解决方法吗?

4

2 回答 2

1

您可以尝试传递一个将 ProhibitDTD 属性设置为 false 的 XmlLoadSettings 对象,如下所示:

var steamXML = await XmlDocument.LoadFromUriAsync(steamUriTemp, new XmlLoadSettings{ProhibitDTD = False});
于 2013-07-17T16:30:04.427 回答
0

此错误的最常见原因是文件中包含无效字符。类似于 & 或 <。这些是 XML 特殊字符,当用作数据而不是指标时会导致违规。

您尝试加载的文件中包含一些 HTML 标记,这很可能是导致此问题的原因。特别是 Team Fortress 2 的 Contents 元素。我认为如果您删除保留字符,该文件将像您测试的其他文件一样正常加载。

于 2012-11-24T13:24:32.057 回答