Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.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 - Fatal编程技术网

.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 关于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

先生,windows phone 8.1 SDK没有“g.element”。它只有“g.elementAt”或“g.elements”

文件图像:


帮我修一下。。。谢谢

正如我在评论中所说,每个组可能包含多个元素,因此使用只返回一个元素的
.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()
.......