如何从XML文件中获取所有文本节点

AML*_*AML 4 c# xml

我想从XML文件中获取所有文本节点.

我怎样才能做到这一点?

示例输入:

<root>
<slide>
<Image>hi</Image>
<ImageContent>this</ImageContent>
<Thumbnail>is</Thumbnail>
<ThumbnailContent>A</ThumbnailContent>
</slide>
</root> 
Run Code Online (Sandbox Code Playgroud)

预期产出:

hi this is A
Run Code Online (Sandbox Code Playgroud)

gwi*_*rrr 10

唯一的解决方案(到目前为止)枚举任何xml中的所有文本节点,无论其结构如何:

string input = @"
    <root>
        <slide>
            <Image>hi</Image>
            <ImageContent>this</ImageContent>
            <Thumbnail>is</Thumbnail>
            <ThumbnailContent>A</ThumbnailContent>
        </slide>
    </root>";

foreach (XText text in (IEnumerable)XDocument.Parse(input).XPathEvaluate("//*/text()"))
{
    Console.WriteLine(text.Value);
}
Run Code Online (Sandbox Code Playgroud)

编辑:如果你想从文件加载xml然后使用XDocument.Load.