EDIT:私の間違いは私が文字列をエンコードするurlではないことです。つまり、xdoc.Load(Server.UrlEncode( "website.com")) ;ドキュメントタイプのないURLからXMLを解析する:エラーとは何ですか?
C#ASP.NETでは、URLからXMLを取得しています。
<html>
<head></head>
<body>
<product>
<course>
</course>
</product>
... more data
</body>
</html>
だから、その本当にHTMLまたはせいぜいない有効なXML:XMLはそのような形式です。私はインターネット上のサーバーからこの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