Поделиться через


Пробелы в 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>

См. также