Пробелы в XML-литералах (Visual Basic)
Компилятор Visual Basic включает только значительные символы пробелов из XML-литерала при создании объекта LINQ to XML. Незначительные символы пробелов не включены.
Значительное и незначительное пробелы
Символы пробелов в XML-литералах важны только в трех областях:
Если они находятся в значении атрибута.
Если они являются частью текстового содержимого элемента, а текст также содержит другие символы.
Когда они находятся в внедренном выражении для текстового содержимого элемента.
В противном случае компилятор обрабатывает символы пробелов как незначительные и не включается в объект LINQ to XML для литерала.
Чтобы включить незначительное пробелы в XML-литерал, используйте внедренное выражение, содержащее строковый литерал с пробелом.
Примечание.
xml:space
Если атрибут отображается в литерале XML-элемента, компилятор Visual Basic включает атрибут в XElement объект, но добавление этого атрибута не изменяет способ обработки пробелов компилятором.
Примеры
В следующем примере содержатся два XML-элемента, внешние и внутренние. Оба элемента содержат пробелы в текстовом содержимом. Пробелы во внешнем элементе незначительны, поскольку он содержит только пробелы и XML-элемент. Пробел во внутреннем элементе имеет значительное значение, так как он содержит пробелы и текст.
Dim example As XElement = <outer>
<inner>
Inner text
</inner>
</outer>
Console.WriteLine(example)
При запуске этот код отображает следующий текст.
<outer>
<inner>
Inner text
</inner>
</outer>