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>