从XElement读取包含与纯内容混合的元素的数据

时间:2012-06-05 13:10:21

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

XElement具有以下值:

<parent><child>text inside element</child>and plain content</parent>

如何将其转换为包含以下内容的字符串:“元素和普通内容中的文本”。

我已经尝试了什么?

我厌倦了使用xElement.Value,但这会将两个节点连接在一起,而不会在它们之间放置一个空格:“text和plain content中的文本”。

1 个答案:

答案 0 :(得分:3)

您要查找的文本存储在XText类型的节点中。所以你可以像这样得到这些节点:

xElement.DescendantNodes()
        .OfType<XText>()
        .Select(t => t.Value)

那会给你这个结果:

text inside element 
and plain content 

然后您可以根据需要连接这些(例如使用String.Join)。