System.Xml.XmlException: Unerwartetes Dateiende beim Parsen Der Name ist aufgetreten

8

Ich verwende ein XmlReader , das mit SqlCommand.ExecuteXmlReader abgerufen wurde.

Hier ist meine Eingabe

Wenn ich diese Codezeile ausführe:

%Vor%

Es funktioniert das erste Mal und liest den ersten Produktknoten wie erwartet ein.

Beim zweiten Mal bekomme ich die folgende Ausnahme:

%Vor%

Ich fand diese Frage und diese Frage das war ähnlich wie meines, aber ich bin mir ziemlich sicher, dass mein XML wohlgeformt ist (ich kann es direkt aus dem Ausführen eines Sprocs erhalten)

Meine bisherigen Ideen:

  1. 2048 ist eine sehr verdächtige Zahl in Computern. Gehe ich irgendwo in XDocument oder XmlReader ?
  2. in ein Limit von 2KB
  3. Mein ktXmlReader.Read () in der while-Schleife überspringt irgendwie alle anderen Knoten und geht direkt zum EOF
Codeman 19.03.2013, 02:03
quelle

2 Antworten

4

Ich habe die Antwort hier gefunden.

Mein Problem war, dass ich die SqlConnection mit einer using-Anweisung schließen wollte, als ich den XmlReader erhielt.

Ich habe die Verbindung zu meinem "Benutzerturm der Macht" hinzugefügt und sie als Parameter übergeben, sie offen gehalten und alles hat perfekt funktioniert.

    
Codeman 19.03.2013, 19:31
quelle
0

Die XmlReader-Ausführung ist eine Einwegoperation. Sie können versuchen, seine Position zurückzusetzen, oder was ist einfacher - erstellen Sie eine neue Leser aus bestehendem Dokument .

    
abatishchev 19.03.2013 02:06
quelle

Tags und Links