C#学习教程:将XML中的内容解析为类的LINQ查询xml文件的格式如下所示:Stand1>Stand2>Stand1>Stand3>Stand4>。..我必须从查询中获取NextItem和PreviousItem的属性列表。为此,我定义了一个类来获取我的结果。publicclassExtract{公共字符串名称{get;放;}publicint_id{得到;放;}}LINQ查询(foreachSample节点,获取类对象中PreviousItem和NextItem的内容):varEnumerableContent=fromiteminXElement.Load("file.xml").Elements("NextItem")select???。..问题是如何将数据传递给上述查询中每个Sample节点的类对象。.其次,上面只会获取NextItem节点。如何为NextItem和PreviousItem编写查询?编辑通常,我必须为每个Sequence节点获取一个IEnumerable,然后从该查询返回整个IEnumerable。EDIT2在此处分配密钥给了我这个错误。查询如下varmapping=XDocument.Load("file.xml").Descendants("Sequences").Select(n=>n.Descendants("PreviousItem").Union(n.Descendants("NextItem")).Select(n1=>newExtract{_id=(int)n1.Attribute("id"),Name=n1.Value})).ToDictionary(key=>key._id);//并进一步将此字典转换为排序字典(根据键排序)varxDoc=XDocument.Load(....);varresult=xDoc.Descendants("NextItem").Union(xDoc.Descendants("PreviousItem")).Select(n=>new{ID=n.Attribute("id").Value,Name=n.Name,值=n.Value});-编辑-varresult=XDocument.Load(....).Descendants("Sequences").Select(n=>n.Descendants("NextItem").Union(n.Descendants("PreviousItem")).Select(n2=>new{ID=n2.Attribute("id").Value,Name=n2.Name,Value=n2.Value}));我不确定我是否理解这个问题,但是您可以轻松地将LINQ中的元素/属性值转换为XML选择语句:varEnumerableContent=fromiteminXElement.Load("file.xml").Elements("NextItem")selectnewExtract(){name=item.Value,_id=(int)item.Attribute("id")}嗨,我想这就是你期待的上面是C#学习教程:LINQ查询解析从XML到类共享的所有内容。如果对大家有用,需要了解更多C#学习教程,希望大家多多关注——ListlstXElements=newList();lstXElements.AddRange(GetDescendants("NextItem"));lstXElements.AddRange(GetDescendants("PreviousItem"));列表lstExtract=newList();foreach(lstXElements中的XElementobjElement){ExtractobjExtract=newExtract();objExtract._id=Convert.ToInt32(objElement.Attribute("id").Value);objExtract.name=(objElement.Name).LocalName;lstExtract.Add(objExtract);}ListGetDescendants(stringstrDescentName){return((XDocument.Load(Server.MapPath("XMLFile1.xml")).Descendants(strDescentName))).ToList();}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: