2009-05-05 6 views
1

Ich versuche, ein sehr einfaches XML-Dokument zu laden, aber jedes Mal, wenn ich auf die LoadXml (string url) -Zeile stoße, stürzt das Programm ab und meldet eine Ausnahme ("Daten auf der Stammebene sind ungültig. Zeile 1, Position 1 "XmlException).Daten ist ein ungültiger Fehler beim Laden von XML

XmlDocument xmldoc = new XmlDocument(); 
xmldoc.LoadXml(@"C:\Websites\TestHarness\TestHarness\TestHarness\ExampleXml.xml");  
XmlNode node = xmldoc.DocumentElement; 

Meine XML sieht wie folgt aus (dies ist ein Beispiel für XML-Dokument aus W3Schools und es öffnet sich in IE fein):

<note> 
    <to>Tove</to> 
    <from>Jani</from> 
    <heading>Reminder</heading> 
    <body>Don't forget me this weekend!</body> 
</note> 

Dies wird eingefügt genau wie ohne Leerzeichen ist.

Ich kann nichts falsches mit diesem Code sehen, der Stack-Trace sagt mir nicht viel und ich vermute, es gibt irgendwo ein Umweltproblem. Hat jemand irgendwelche Ideen?

EDIT: Die Formatierung des XML ist nicht richtig. Das XML ist das gleiche wie das Beispieldokument hier: http://w3schools.com/xml/default.asp

Antwort

5

Verwenden Sie Load() anstelle von LoadXml().

+0

+1 d'oh ... 46 Sekunden zu schnell für mich ;-p –

1

Ja, Sie laden den Dateinamen als XML. Aber auch Sie vermissen die XML-Codierung .... Xml-Format erlauben keinen Text einfach so. Das xml sollte diese Live geschrieben:

<note> 
    <to>Tove</to> 
    <from>Jani</from> 
    <heading>Reminder</heading> 
    <body>Don&#39;t forget me this weekend!</body> 
</note> 

Hier ist ein nice Werkzeug Online zu kodieren.

Hoffe, das hilft ... :)