Lies XElement von XmlReader

8

Ich spiele gerade mit dem Parsen eines XMPP-XML-Streams. Das Schwierige an dem XML-Stream ist, dass das Start-Tag nicht bis zum Ende der Sitzung geschlossen wird, d. H. Ein vollständiges DOM wird nie empfangen.

%Vor%

Ich muss die XML-Elemente aus dem Stream lesen, ohne darauf zu achten, dass das Root-Element nicht geschlossen wurde.

Idealerweise würde das funktionieren, aber es funktioniert nicht und ich nehme an, dass es so ist, weil der Leser darauf wartet, dass das Wurzelelement geschlossen wird.

%Vor%

Der Code unten (den ich mir von Jacob ausgeliehen habe Reimers ) funktioniert zwar, aber ich hoffe, dass es einen effizienteren Weg gibt, der nicht das Erstellen eines neuen XmlReader und das String-Parsing beinhaltet.

%Vor%     
sipwiz 15.11.2010, 12:13
quelle

1 Antwort

10

Sie sollten nicht mit den Strings arbeiten müssen; Sie sollten in der Lage sein, XElement.Load auf der Teilstruktur zu verwenden:

%Vor%

Und beachten Sie, dass dies nicht wirklich ein "neuer" XML-Reader ist - er ist stark an den äußeren Leser gebunden (aber auf eine Menge von Knoten beschränkt).

    
Marc Gravell 15.11.2010, 12:21
quelle

Tags und Links