本文介绍了通过访问LINQ的到XML元素嵌套的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个XML文件,它看起来像这样
<&MyObject的GT;
< someinfo1 />
< someinfo2>< / someinfo2>
< someinfo3 />
。
。
<项目>
<&领域GT;
< usefulinfo1>&东西LT; / usefulinfo1>
< usefulinfo2>&东西LT; / usefulinfo2>
< usefulinfo3>
&所述;组>
< code>有的code< / code>
<描述>有的描述< /描述>
< /组>
< / usefulinfo3>
< /田>
< /项目>
<项目>
<&领域GT;
< usefulinfo1>&东西LT; / usefulinfo1>
< usefulinfo2>&东西LT; / usefulinfo2>
< usefulinfo3>
<名someattribute =>
<&初始化GT; someinit< / INIT>
<&姓GT;有的姓< /姓>
< /名称>
<名someattribute =>
<&初始化GT; someinit< / INIT>
<&姓GT;有的姓< /姓>
< /名称>
<公司someattribute =>
< coname> coname< / coname>
<国家>公司与国内LT; /国家>
< /公司>
<公司someattribute =>
< coname> coname< / coname>
<国家>公司与国内LT; /国家>
< /公司> < / usefulinfo3>
< /田>
< /项目>
。
。
(更多标签命名项)< /为MyObject>
我曾尝试通过LINQ的XML来访问这些数据。
这就是我的实验是如此远...
的XmlReader读卡器= XmlReader.Create(新StringReader(XMLTEXT));
reader.Read();
XDOC的XDocument = XDocument.Load(读卡器);
reader.Close();
IEnumerable的<&MyObject的GT;在xdoc.Root.Elements从我的数据=(项目)。后代(田)
选择新为MyObject
{
usefulinfo1 =(字符串)i.Element(usefulinfo1),
usefulinfo2 =(字符串)i.Element(usefulinfo2),
usefulinfo3 =新的List< Usefulinfo3>(
从i.Elements(usefulinfo3)usefulinfo3。后代()
选择新Usefulinfo3
{
NAME =新的List< Usefulinfo3Name>(
从usefulinfo3.Elements名称(名称)。后代()
选择新Usefulinfo3Name
{
的init =(字符串)name.Element(INIT),
姓=(字符串)name.Element(姓)
}
)
公司= //使用公司类似的事情
}
)
};
那么,问题是,我还没有得到看正在加载的结果,即使我只是尝试搜索usefulinfo1和
usefulinfo2而已,所以帮助下,我想就从这里开始,第二,因为我不知道如果我的方法将工作,我想
知道是否有调试它,因为当我踏进数据调试时,它只是通过直线距离的一种方法,不显示
我什么。
如果你可以给我联系,我可以搜索这一点,那将是非常有用的,因为网站我发现至今只有秀
我怎么去,直到item元素(我知道这部分应该是简单,但我只是还没有得到它的权利)。
提高我的code方法的任何建议也欢迎。
非常感谢你。
解决方案
这个例子对我的作品
XDOC的XDocument = XDocument.Parse(XML);
VAR的结果= xDoc.Descendants(田)
。选择(F =>新建
{
usefulinfo1 = f.Element(usefulinfo1)。价值,
usefulinfo2 = f.Element(usefulinfo2)。价值,
usefulinfo3 = f.Element(usefulinfo3)。元素(名称)
。选择(N =>
新{
姓= n.Element(姓)。价值,
})
.ToArray() })
.ToArray();
var names = xDoc.Descendants("surname")
.GroupBy(x => x.Value)
.Select(x => new { Name = x.Key, Count = x.Count() })
.ToList();
这篇关于通过访问LINQ的到XML元素嵌套的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!