如何用空格获取XElement值?

时间:2011-09-22 14:25:23

标签: c# .net xml linq-to-xml

我有以下XElement:

<title>
  <bold>Foo</bold>
  <italic>Bar</italic>
</title>

当我获得Value属性时,它会返回FooBar而没有空格。如何解决?

2 个答案:

答案 0 :(得分:8)

根据定义,Value元素的<title>是此元素中所有文本的串联。默认情况下,元素及其内容之间的空格被忽略,因此它给出了“FooBar”。您可以指定要保留空格:

var element = XElement.Parse(xml, LoadOptions.PreserveWhitespace);

但是它会保留所有空格,包括换行符和缩进。在您的XML中,有一个换行符和“Foo”和“Bar”之间的两个空格;如何猜测你只想保留一个空间?

答案 1 :(得分:0)

来自documentation for the Value property of the XElement class

  

获取或设置此元素的连接文本内容。

鉴于您的示例,此行为是预期的。如果你想要空格,你必须提供逻辑来实现它。