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>

请参见

其他资源

在 Visual Basic 中创建 XML