2014-03-13 26 views
1

说我有这样的XML:如何使用LINQ获取节点的名称

<Parent> 
    <Child> 
     <ChildOfChild> 
     </ChildOfChild> 
    </Child> 
    <Child2> 
    </Child2> 
</Parent> 

我想获得该节点的名字?我知道我能得到父母一方的名字:

XDocument xd; 
String test; 
test = xd.Root.Name.LocalName; // test would contain "Parent" 

但是,我如何得到孩子的名字?

正如我可以得到xd.Root.FirstNode下一个孩子,但我不能找到任何财产或类似拿到孩子的名字,在这种情况下儿童

+0

是什么类型XD? – Ante

+0

XDocument,将它添加到帖子 – Kkloe

回答

1

xd.Root.FirstNode返回根元素的第一个子节点,这不是必需的元素(可能是注释,例如,没有名称)。

尝试以下操作:

xd.Root.Elements().First().Name.LocalName; 
+1

像魅力一样工作谢谢 – Kkloe