Espaces blancs dans les littéraux XML (Visual Basic)
Le compilateur Visual Basic n'incorpore que les caractères d'espace blanc significatifs d'un littéral XML, lorsqu'il crée un objet LINQ to XML. Les caractères d'espace blanc insignifiants ne sont pas incorporés.
Espace blanc significatif et insignifiant
Les caractères d'espace blanc dans les littéraux XML ne sont significatifs que dans trois zones :
Lorsqu'ils se trouvent dans une valeur d'attribut.
Lorsqu'ils font partie du contenu du texte d'un élément et lorsque le texte contient également d'autres caractères.
Lorsqu'ils se trouvent dans une expression incorporée pour le contenu du texte d'un élément.
Dans le cas contraire, le compilateur traite les caractères d'espace blanc comme insignifiants et ne les inclut pas à l'objet LINQ to XML du littéral.
Pour inclure un espace blanc insignifiant dans un littéral XML, utilisez une expression incorporée contenant un littéral de chaîne avec espace blanc.
Notes
Si l'attribut xml:space apparaît dans un littéral d'élément XML, le compilateur Visual Basic inclut l'attribut dans l'objet XElement, mais l'ajout de cet attribut ne change pas la manière dont le compilateur traite l'espace blanc.
Exemples
L'exemple suivant contient deux éléments XML, externe et interne. Ces deux éléments contiennent un espace blanc dans leur contenu de texte. L'espace blanc de l'élément externe est insignifiant, parce qu'il ne contient qu'un espace blanc et un élément XML. L'espace blanc de l'élément interne est significatif, parce qu'il contient un espace blanc et du texte.
Dim example As XElement = <outer>
<inner>
Inner text
</inner>
</outer>
Console.WriteLine(example)
Au moment de l'exécution ce code affiche le texte suivant.
<outer>
<inner>
Inner text
</inner>
</outer>