2009-12-31 63 views
0

在下面的代码段中,我只有在具有文本数据的XML 1个元素:的XDocument解析值

<element>like this</element> 

所有其他元素具有属性或没有。

为什么我下面的解析似乎表明我的所有元素都有“像这样”作为文本数据?

THX

StreamWriter sw = new StreamWriter(out_file_name_); 

var xd = XDocument.Load(xml_template_file_name_); 

foreach (XElement el in xd.Descendants()) 
    sw.Write(el.Name + "-" + el.Value); 

回答

0

我想答案是嵌套,如果你的XML是这样的:

<root> 
    <group1> 
    <element>text</element> 
    </group1> 
    <group2></group2> 
</root> 

然后将除了第2组的所有元素都会有 '文' 的价值。

+0

哇。然后XDocument只是一个很大的骗子;(我会检查嵌套 - 谢谢 – Chris 2009-12-31 17:18:50

+0

你可以使用'!el.hasElements' – 2009-12-31 17:36:47