【发布时间】:2011-09-22 14:25:23
【问题描述】:
我有以下 XElement:
<title>
<bold>Foo</bold>
<italic>Bar</italic>
</title>
当我得到Value 属性时,它返回FooBar 没有空格。如何解决?
【问题讨论】:
标签: c# .net xml linq-to-xml
我有以下 XElement:
<title>
<bold>Foo</bold>
<italic>Bar</italic>
</title>
当我得到Value 属性时,它返回FooBar 没有空格。如何解决?
【问题讨论】:
标签: c# .net xml linq-to-xml
根据定义,<title> 元素的Value 是该元素中所有文本的串联。默认情况下,元素及其内容之间的空白被忽略,因此它给出“FooBar”。您可以指定要保留空格:
var element = XElement.Parse(xml, LoadOptions.PreserveWhitespace);
但是它将保留 所有 空格,包括换行符和缩进。在您的 XML 中,“Foo”和“Bar”之间有一个换行符和两个空格;怎么猜你只想保留一个空格?
【讨论】:
来自documentation for the Value property of the XElement class:
获取或设置该元素的拼接文本内容。
根据您的示例,这种行为是预期的。如果需要空格,则必须提供执行此操作的逻辑。
【讨论】: