XML 文本中的空白 (Visual Basic)
Visual Basic 编译器在创建 LINQ to XML 对象时仅合并 XML 文字中的有效空白字符。 而不会合并无效空白字符。
有效和无效空白
XML 文本中的空白字符仅在以下三种情况下有效:
位于属性值中。
属于元素的文本内容并且该文本还包含其他字符。
位于元素的文本内容的嵌入表达式中。
其余情况,编译器会将空白字符视为无效,并且不会包括在文本的 LINQ to XML 对象中。
要在 XML 文本中包含无效空白,请使用包含带有空白的字符串文字的嵌入式表达式。
注意
如果 xml:space
属性出现在 XML 元素文本中,Visual Basic 编译器会在 XElement 对象中包含该属性,但添加此属性不会更改编译器处理空格的方式。
示例
下面的示例包含两个 XML 元素:outer 和 inner。 这两个元素的文本内容都包含空白。 outer 元素中的空白无效,因为它只包含空白和 XML 元素。 inner 元素中的空白有效,因为它包含空白和文本。
Dim example As XElement = <outer>
<inner>
Inner text
</inner>
</outer>
Console.WriteLine(example)
运行时,此代码显示以下文本:
<outer>
<inner>
Inner text
</inner>
</outer>