我正在尝试从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文件有问题吗?有解决方法吗?
答案 0 :(得分:1)
您可以尝试传递一个XmlLoadSettings对象,并将ProhibitDTD属性设置为false,如下所示:
var steamXML = await XmlDocument.LoadFromUriAsync(steamUriTemp, new XmlLoadSettings{ProhibitDTD = False});
答案 1 :(得分:0)
此错误的最常见原因是文件中包含无效字符。像&或者<。这些是XML特殊字符,在用作数据而不是指标时会导致违规。
您尝试加载的文件中包含一些HTML标记,这很可能是导致此问题的原因。具体来说,Team Fortress 2的Contents元素。我想如果删除保留字符,这个文件将像你测试的其他文件一样正常加载。