In C #, wie erhalten Sie XML-Knotenwert, der Leerraum ist?

8

Ich habe einen XML-Knoten mit einem Wert, der ein Leerraum ist. Beispiel:

%Vor%

Ich verwende einen Serializer, um die Daten aus einem XML-Dokument in einem Objekt zu speichern. Nun, das Problem, mit dem ich konfrontiert bin, ist: Wenn der XML-Knotenwert nichts als einen Leerraum enthält, wie der obige Beispielknoten, interpretiert der Serializer ihn als String.Empty.

Wie kann ich das überwinden? Ich brauche den tatsächlichen Leerraum, d.h. "". Vielen Dank!

    
Boris 18.12.2009, 08:27
quelle

3 Antworten

11

Wenn Sie XmlDocument verwenden, sollten Sie den PreserveWhiteSpace festlegen Eigenschaft auf True.

Wenn Sie und XmlReader verwenden, legen Sie die Eigenschaft WhitespaceHandling WhitespaceHandling.All fest .

Siehe dieser MSDN-Artikel zum Beibehalten von Leerraum beim Serialisieren.

Die verschiedenen Serializer behandeln diese unterschiedlichen Möglichkeiten. Versuchen Sie es mit dem XmlTextReader Dies ist nach dieser Forenbeitrag.

    
Oded 18.12.2009, 08:30
quelle
4

Beispielklasse:

%Vor%

Und Beispielprogramm:

%Vor%     
VMAtm 18.12.2009 08:52
quelle
1

Sie können einen CDATA-Platzhalter verwenden, um das Entfernen des Speicherplatzes zu vermeiden:

%Vor%     
Laurent Etiemble 18.12.2009 08:30
quelle

Tags und Links