2009-04-05 17 views
3

Während der Entwicklung Fehler Ich habe xml lesen gesehen wie diese mehr als einmal:.net: Wie debuggen XmlSerializer.Deserialize Fehler?

TestData.ReadFromXml: xml Deserialize Fehler: Es ist ein Fehler in XML-Dokument (2, 2) ..

Was genau tut (2, 2) beziehen sich auf? Ist es Zeile 2 in der XML-Datei? Zeile 2, Token 2, was?

Gibt es irgendwelche Debug-Optionen, die ich hinzufügen kann, um mehr Licht auf das Problem zu werfen?

Edit: hier sind die ersten zwei Zeilen:

<?xml version="1.0" encoding="utf-8"?> 
<TestSession xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

So wäre es in der 2. Zeile auf dem ‚T‘ Charakter beschwert werden? Dies ist eine Klasse, die ich gerade serialisiert habe, und sie ist gut geformt. Bei der Deserialisierung denke ich, dass es etwas in der Klasse nicht mag ... und das könnte erklären, warum es bei der T in TestSession aufhört. Es wäre schön, wenn es dir sagen würde, was es nicht mochte.

Antwort

2

Es ist (Zeile, Zeichen) und beginnt bei 1 (nicht 0 basiert).

Sie sollten die InnerException untersuchen, um eine genauere Fehlermeldung zu erhalten. bei Ihrem Beispiel Sehen, könnte es sein, so etwas wie:

"<TestSession> was not expected." 

Sie können auch durch die Anwendung XmlRootAttribute Ihre Klasse der serialisierte Namen ändern.

1

Es Linie 2, Zeichen 2.

Ich empfehle Ihnen, die XML-Datei in Visual Studio öffnen und dann auf Fehler Fenster schauen, um zu sehen, ob es überhaupt beschwert.

+0

+1. Oder Notizblock2. Oder Emacs, oder etc usw. usw. Es ist ein wirklich offensichtliches ungültiges Bit von XML. – Cheeso

0

Probieren Sie einige XML-Validierungs-Tool, um Ihre XML-Datei/Inhalte zu validieren, tun Sie eine Google, und Sie werden einige finden.