Leerzeichen in XML-Literalen (Visual Basic)

Der Visual Basic-Compiler übernimmt nur die signifikanten Leerzeichen aus einem XML-Literal, 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 von Bedeutung (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 für den Textinhalt eines Elements befinden.

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

Um nicht signifikante Leerzeichen in ein XML-Literal einzuschließen, verwenden Sie einen eingebetteten Ausdruck, der ein Zeichenfolgenliteral mit den Leerzeichen enthält.

Hinweis

Wenn das xml:space-Attribut in einem XML-Elementliteral vorkommt, schließt der Visual Basic-Compiler das Attribut in das XElement-Objekt ein, doch das Hinzufügen dieses Attributs ändert nicht, wie der Compiler Leerzeichen behandelt.

Beispiele

Das folgende Beispiel enthält zwei XML-Elemente, „outer“ und „inner“. Beide Elemente enthalten Leerzeichen im Textinhalt. Die Leerzeichen im outer-Element sind nicht signifikanten, da es nur Leerzeichen und ein XML-Element enthält. Die Leerzeichen im inner-Element sind signifikanten, da es Leerzeichen und Text enthält.

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

Console.WriteLine(example)

Bei Ausführung zeigt dieser Code den folgenden Text an.

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

Weitere Informationen