从XML树属性我有一个xml文件,看起来像这样的工作:获得使用LINQ
<?xml version="1.0" encoding="UTF-8"?>
<element1 xmlns="http://namespace1/">
<element2>
<element3>
<element4 attr1="2009-11-09">
<element5 attr2="NAME1">
<element6 attr3="1">
<element7 attr4="1" attr5="5.5" attr6="3.4"/>
</element6>
</element5>
<element5 attr2="NAME2">
<element6 attr3="1">
<element7 attr4="3" attr5="4" attr6="4.5"/>
</element6>
</element5>
</element4>
</element3>
</element2>
</element1>
哪里需要遍历元素5和检索像这样在Ienumberable属性:
attr1,attr2,attr3,attr4,attr5,attr6
使用linq to xml和c#。我可以遍历元素5并获取所有的属性2信息使用,但我无法弄清楚如何获得我需要的父或子属性。
更新:感谢迄今为止的反馈。为了清楚起见,我需要通过attribute5进行循环。所以基本上,我现在所拥有的(并不多)是。 。 。
XElement xel = XElement.Load(xml);
IEnumberable<XElement> cList = from el in xel.Elements(env + "element2").Element
(n2 + "element3").Elements(n2 + "element4").Elements(ns + "element5") select el;
foreach (XElement e in cList)
Console.WriteLine(e.Attribute("attr2").Value.ToString());
这会给我的价值在循环中的所有ATTR 2,但我可能会对此都错了什么我想acheive。我还需要在集合中收集上面提到的其他属性(控制台引用只是我现在正在玩这个,但我需要的最终结果是集合)。所以最终的结果将是一个集合像
attr1, attr2, attr3, attr4, attr5, attr6
2009-11-09, name1, 1, 1, 5.5, 3.4
2009-11-09, name2, 1, 3, 4, 4.5
让感觉?
我不能完全确定要如何返回数据,有多个元素5元素。你想要一个可枚举,返回attr1,attr2,attr3,..,attr6,attr1(下一个元素)?或者是一个带有attr1到attr6的对象的枚举? – 2009-12-11 23:17:17
如果对我们是否回答了您的问题有所反馈,我们会很高兴,如果不是,我们的问题不是很对......您现在有两个答案,请给我们一些反馈。 – LorenVS 2009-12-11 23:55:46
尝试添加评论,但超过了600个字符的限制,因此我更新了该帖子。 – nelsonwebs 2009-12-12 01:22:30