Freigeben über


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 angezeigt wird, enthält der Visual Basic-Compiler das Attribut im XElement Objekt, das Hinzufügen dieses Attributs ändert jedoch nicht, wie der Compiler Leerraum behandelt.

Beispiele

Das folgende Beispiel enthält zwei XML-Elemente, äußere und innere Elemente. Beide Elemente enthalten Leerzeichen in ihrem Textinhalt. Der Leerraum im äußeren Element ist unbedeutend, da es nur Leerraum und ein XML-Element enthält. Der Leerraum im inneren Element ist wichtig, da es Leerraum und Text enthält.

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

Console.WriteLine(example)

Wenn dieser Code ausgeführt wird, wird der folgende Text angezeigt.

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

Siehe auch