【问题标题】:How to get XElement value with spaces?如何使用空格获取 XElement 值?
【发布时间】:2011-09-22 14:25:23
【问题描述】:

我有以下 XElement:

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

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

【问题讨论】:

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


【解决方案1】:

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

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

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

【讨论】:

  • 在我的例子中,它只保留一个空格(最后是一个空格,就像 html 一样)。不知道为什么,但这正是我需要的。
【解决方案2】:

来自documentation for the Value property of the XElement class

获取或设置该元素的拼接文本内容。

根据您的示例,这种行为是预期的。如果需要空格,则必须提供执行此操作的逻辑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 2022-12-16
    • 1970-01-01
    相关资源
    最近更新 更多