Freigeben über


Leerstellen in XML-Literalen

Aktualisiert: November 2007

Der Visual Basic-Compiler bindet nur die signifikanten Leerzeichen eines XML-Literals ein, wenn er ein LINQ to XML-Objekt erstellt. Die nicht signifikanten Leerzeichen werden nicht übernommen.

Signifikante und nicht signifikante Leerzeichen

Leerzeichen in XML-Literalen sind nur in drei Bereichen signifikant:

  • Wenn sie sich in einem Attributwert befinden.

  • Wenn sie Teil des Textinhalts eines Elements sind und der Text auch andere Zeichen enthält.

  • Wenn sie sich in einem eingebetteten Ausdruck des Textinhalts eines Elements befinden.

Andernfalls behandelt der Compiler Leerzeichen als nicht signifikant und schließt sie nicht in das LINQ to XML-Objekt für das Literal ein.

Zum Einschließen von nicht signifikanten Leerzeichen in ein XML-Literal wird ein eingebetteter Ausdruck verwendet, der ein Zeichenfolgenliteral mit den Leerzeichen beinhaltet.

Hinweis:

Wenn das xml:space-Attribut in einem XML-Elementliteral vorhanden ist, schließt der Visual Basic-Compiler das Attribut im XElement-Objekt ein. Jedoch ändert das Hinzufügen dieses Attributs nicht die Behandlung von Leerzeichen durch den Compiler.

Beispiele

Das folgende Beispiel enthält zwei XML-Elemente, ein äußeres und ein inneres. Beide Elemente enthalten Leerzeichen im Textinhalt. Die Leerzeichen im äußeren Element sind nicht signifikant, weil das Element nur Leerzeichen und ein XML-Element enthält. Die Leerzeichen im inneren Element sind signifikant, da das Element Leerzeichen und Text enthält.

Dim example As XElement = <outer>
                              <inner> 
                                  Inner text 
                              </inner>
                          </outer>

Console.WriteLine(example)

Beim Ausführen zeigt dieser Code den folgenden Text an.

<outer>
  <inner>
                                          Inner text
                                      </inner>
</outer>

Siehe auch

Weitere Ressourcen

Erstellen von XML in Visual Basic