Daten auf der Stammebene sind ungültig. Zeile 1, position 1. beim Lesen von xml
wenn ich versuche zu Lesen eine xml-Datei von einem Dritten Unternehmen, erhalte ich die Fehlermeldung:
Data at the root level is invalid. Line 1, position 1.
hab ich gelesen bei google das problem sein könnte, da die Daten des xml-Dokuments ist utf-8-String nur akzeptiert utf-16.
aber ich kann nicht finden eine passende Lösung. Ich lese die xml-Datei von einer url.
dies ist der code, den ich schrieb:
private void GetBlockList(DateTime lastUpdate, string username, string password)
{
List<String> m_list = new List<String>();
HttpWebRequest blockListRequest = (HttpWebRequest)WebRequest.Create(string.Format("https://www.apiemail.net/api.aspx?Username={0}&Password={1}&Function=get_blocklist&SID=4", username, password));
HttpWebResponse blockListResponse = (HttpWebResponse)blockListRequest.GetResponse();
XmlDocument blockListXmlDoc = new XmlDocument();
XmlNode root = blockListXmlDoc.DocumentElement;
XmlNodeList blockNodeList = root.SelectNodes("blockedemail");
blockListXmlDoc.Load(blockListResponse.GetResponseStream());
int count = 0;
while (blockNodeList.Count < count)
{
m_list.Add(blockNodeList.Item(count).SelectSingleNode("address").InnerText);
count++;
}
return m_list;
}
ersten paar Zeilen xml-op: (Hinweis: es ist eine ziemlich große xml.)
<?xml version="1.0" encoding="ISO-8859-1"?>
<blockedemails>
<blockedemail>
<address>email</address>
<date>6/4/2011 12:11:14 AM</date>
</blockedemail>
<blockedemail>
<address>email</address>
<date>6/6/2011 1:39:04 PM</date>
</blockedemail>
<blockedemail>
<address>email</address>
<date>4/23/2011 8:56:06 PM</date>
</blockedemail>
Die ersten paar Zeilen des XML-nützlich wäre.
das utf Problem vorgeschlagen wird, ist unwahrscheinlich. Wahrscheinlich: die xml-Datei beginnt mit Leerzeichen,... können wir sehen den Beginn der xml-bitte? inklusive alle leeren Zeilen?
Oder vielleicht eine Stückliste? Überprüfen Sie die ersten drei bytes in einem hex-editor.
ein hex-editor zeigt: 00000000: 3C 3F 78 6D 6C 20 76 65 die nicht Aussehen wie eine BOM -
Machen Sie den gleichen Fehler, wenn Sie das laden der XML direkt aus der URL statt über die HttpWebRequest/Response? (siehe msdn.microsoft.com/en-us/library/875kz807%28v=VS.100%29.aspx)
das utf Problem vorgeschlagen wird, ist unwahrscheinlich. Wahrscheinlich: die xml-Datei beginnt mit Leerzeichen,... können wir sehen den Beginn der xml-bitte? inklusive alle leeren Zeilen?
Oder vielleicht eine Stückliste? Überprüfen Sie die ersten drei bytes in einem hex-editor.
ein hex-editor zeigt: 00000000: 3C 3F 78 6D 6C 20 76 65 die nicht Aussehen wie eine BOM -
Machen Sie den gleichen Fehler, wenn Sie das laden der XML direkt aus der URL statt über die HttpWebRequest/Response? (siehe msdn.microsoft.com/en-us/library/875kz807%28v=VS.100%29.aspx)
InformationsquelleAutor middelpat | 2011-09-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wir (middelpat und mir) arbeiten in der gleichen Firma und herausgefunden, warum gab es den Fehler.
Schrieben wir die Antwort bekamen wir zu eine Datei und schauen Sie in die Datei. Es gab eine Fehlermeldung anstelle der xml.
Apiemail arbeitet mit einer vertrauenswürdigen IP-Adresse stammt. Wenn Ihre ip ist, die nicht vertrauenswürdig sind, bekommen Sie eine nur-text sagt, dass das nicht erlaubt ist und das brächte einen Fehler in Zeile 1 position 1. Denn das ist nicht xml. Wir fügen nun die ip zu den vertrauenswürdigen Liste und die Arbeit auf.
InformationsquelleAutor SynerCoder
Ich habe versucht, das laden einer xml Parsen einen string aus einem anderen XDocument und war immer den gleichen Fehler.
Es stellte sich heraus, dass dies zu tun ".Wert" erzeugt eine xml mit einem Leerzeichen am Anfang, das war die Quelle meiner Fehler. Ich löste es, indem Sie mit ".ToString()" statt.
InformationsquelleAutor Eugene
Versuchen Sie es mit der 'System.Xml.Linq;' namespace.
und dann einfach durch den Aufruf der
wird Sie wieder die Kollektion von 'Xin', die Sie verwenden können, um zu Durchlaufen.
Es gibt Methoden, wie
Tun, also ich hatte noch nie irgendwelche Probleme mit dem Lesen *.xml-Dateien.
Hier ist ein Verweis auf ein tutorial, das hilfreich sein kann:
http://www.techrepublic.com/blog/programming-and-development/access-xml-data-using-linq-to-xml/594
http://www.hookedonlinq.com/LINQtoXML5MinuteOverview.ashx
vielen Dank für deinen Beitrag, aber noch immer den gleichen Fehler
yeap, mein Fehler, sorry Befestigung sofort werde ich versuchen, um die Lösung zu finden und feedback, sobald ich kann
InformationsquelleAutor GaaRa