XML 文本中的空白 (Visual Basic)

Visual Basic 编译器在创建 LINQ to XML 对象时仅包含 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>

另请参阅