0
编辑:我的错误问题是我没有url编码字符串,即xdoc.Load(Server.UrlEncode(“website.com”)) ;从没有doc类型的URL解析XML:什么是错误
在C#ASP.NET中,我从URL中检索XML。该XML的格式为如下所示:
<html>
<head></head>
<body>
<product>
<course>
</course>
</product>
... more data
</body>
</html>
所以它真的HTML或者最好不是有效的XML。当我加载这个来自Internet上的服务器的xml时,我收到错误消息。
解析/加载失败是因为XML无效(HTML),还是失败,因为我从URL而不是本地文件检索XML?
我该如何成功解析这个文件?我是否需要添加XML文档类型,我是否使用C#HTML解析器?
的错误是:
// ERROR: Data at the root level is invalid. Line 1, position 1.
public string getProductXML()
{
XmlDocument xdoc = new XmlDocument();
xdoc.Load("http://www.website.com/test.aspx?a=1&b=2"); //ERROR HERE: Data at the root level is invalid. Line 1, position 1.
// NOTE www.website.com is a different server to where this code is executing
XmlNodeList xNodelst = xdoc.DocumentElement.SelectNodes("group");
}
你确定你正在得到正确的XML吗?尝试手动下载使用'WebClient'然后'LoadXml()'得到的字符串。 – svick 2012-02-24 01:07:03