.net 关于linq集团的维修 XDocument xmlthandongdat越南=XDocument.Load(@“Assets/xmlthandongdat越南.xml”); List thandong=(来自XMLthandongdatVieta.Elements(“truyen”).Elements(“thandongdatVieta”)中的查询2) 按query2.Element(“taptruyen”).Value将query2分组为g 选择新丹东 { page=g.Element(“tiudetrang”).Value,//错误不是has元素 seri=g.键, urltitle=g.Element(“duongdantieud”)。值//错误不包含元素 } ).ToList();
先生,windows phone 8.1 SDK没有“g.element”。它只有“g.elementAt”或“g.elements” 文件图像:.net 关于linq集团的维修 XDocument xmlthandongdat越南=XDocument.Load(@“Assets/xmlthandongdat越南.xml”); List thandong=(来自XMLthandongdatVieta.Elements(“truyen”).Elements(“thandongdatVieta”)中的查询2) 按query2.Element(“taptruyen”).Value将query2分组为g 选择新丹东 { page=g.Element(“tiudetrang”).Value,//错误不是has元素 seri=g.键, urltitle=g.Element(“duongdantieud”)。值//错误不包含元素 } ).ToList();,.net,windows,linq,windows-phone-8,.net,Windows,Linq,Windows Phone 8,先生,windows phone 8.1 SDK没有“g.element”。它只有“g.elementAt”或“g.elements” 文件图像: 帮我修一下。。。谢谢正如我在评论中所说,每个组可能包含多个元素,因此使用只返回一个元素的.Element()方法是没有意义的。您的最终目标不明确,可能使用FirstOrDefault()就足够了: XDocument xmlthandongdatviet = XDocument.Load(@"Assets/XMLthandongdatviet.xml
帮我修一下。。。谢谢正如我在评论中所说,每个组可能包含多个元素,因此使用只返回一个元素的
.Element()
方法是没有意义的。您的最终目标不明确,可能使用FirstOrDefault()
就足够了:
XDocument xmlthandongdatviet = XDocument.Load(@"Assets/XMLthandongdatviet.xml");
List<thandong> thandong = (from query2 in xmlthandongdatviet.Elements("truyen").Elements("thandongdatviet")
group query2 by query2.Element("taptruyen").Value into g
select new thandong
{
page = g.Element("tieudetrang").Value,//error is not has Element
seri = g.Key,
urltitle = g.Element("duongdantieude").Value //error is not has Element
}
).ToList();
在上面的示例中,将元素强制转换为字符串,而不是访问元素的
值
属性,可以避免在找不到元素时出现空引用异常。那么,为什么不使用g.Elements()
?每个组可能包含多个元素,因此不能简单地使用g.Element()
返回单个元素。。或者g.Elements(“…”).FirstOrDefault().Value
按照@har07的建议使用FirstOrDefault或SingleOrDefault,如果没有找到元素,我可能会抛出异常
.......
page = (string)g.Elements("tieudetrang").FirstOrDefault(),
seri = g.Key,
urltitle = (string)g.Elements("duongdantieude").FirstOrDefault()
.......