Ich versuche, ein XML-Dokument zu lesen, das auf einer Webseite bereitgestellt wird. Nehmen wir an, die URL lautet "http://myfirsturl.com". Das XML-Dokument in dieser URL scheint in Ordnung zu sein.XDocument.Load (URL) Fehler: Daten auf der Stammebene sind ungültig. Position 1 1
try
{
string url = "http://myfirsturl.com";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();
using (XmlReader reader =
XmlReader.Create(new StreamReader(stream))
{
var doc = XDocument.Load(reader);
Console.WriteLine(doc);
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
Ich erhalte die folgenden Fehler:
System.Xml.XmlException: Data at the root level is invalid. Line 1, position 1.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
at System.Xml.Linq.XDocument.Load(XmlReader reader)
ich den exakt gleichen Code mit einer anderen URL versucht habe und es funktioniert zum Beispiel auf: „http://mysecondurl.com“.
ich Schritte auf die Hilfe benötigen, was als nächstes zu tun ...
Ich habe in den Fehler gesucht und gefunden zwei mögliche Richtungen für eine Lösung:
- Die Codierung der XML gibt zusätzliche Zeichen (Ich weiß nicht, wie man das überprüft)
- Die Webseite blockiert die Anfrage. (Ich weiß nicht, wie dies in Angriff zu nehmen)
Vielen Dank für Ihre Zeit und helfen :)
Wenn Sie die XML herunterladen können, ist eine einfache Möglichkeit, die Codierung (die für mich normalerweise funktioniert) zu überprüfen, es im Editor zu öffnen. Klicken Sie auf Speichern unter, und die aktuelle Codierung sollte unten angezeigt werden. Wahrscheinlich nicht der beste Weg, da bin ich mir sicher. Aber du kannst es zumindest versuchen. –
Versuchen Sie http://stackoverflow.com/questions/17795167/xml-loaddata-data-at-the-root-level-is-invalid-line-1-position-1, um eine Stückliste zu erkennen und zu entfernen. –
Es gibt eine andere Option . Möglicherweise erhalten Sie kein xml-Dokument, Sie erhalten möglicherweise einen 500-Fehler oder 401, 404 usw. In diesem Fall erhalten Sie eine HTML-Antwort. Du sagst, das XML an der URL sieht gut aus, wie hast du es überprüft? – Crowcoder