如何获取包含空格的XElement值?

4

我有以下的 XElement:

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

当我获取Value属性时,它返回没有空格的FooBar。如何修复?

1
这是你想要的吗?获取XElement的InnerXml的最佳方法 - George Duckett
2个回答

8

根据定义,<title>元素的Value是该元素中所有文本的串联。默认情况下,元素和它们的内容之间的空格将被忽略,因此它会得到"FooBar"。您可以指定要保留空格:

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

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


在我的情况下,它仅保留一个空格(以及一个在末尾,就像html一样)。不知道为什么,但这正是我需要的。 - Poma

0

来自XElement类的Value属性文档

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

根据您的示例,这种行为是可以预期的。如果您想要空格,您将需要提供相应的逻辑。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接