C#LAMBDA方法的语法,以获得属性值相匹配的图案在LINQ到XML

问题描述 投票:0回答:2

我有以下XML片段,并想退出是不为零的状态属性的值。我能获得符合标准,但我真正想要的是状态属性的值的元素。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
    <Auth status = "0">Moo</Auth>
    <Add status = "817">Cow</Add>
    <Add status = "888">Brown</Add>
    <Add status = "123">Dog</Add>
</response>

这lambda语法带回匹配元素的列表,但我需要的是状态值的列表不能与那些数值的元素的列表。

var errcodeList = xml.Descendants("Add").Where(x => x.Attribute("status").Value != "0").Attributes("status");
c# xml linq lambda linq-to-xml
2个回答
1
投票

这只是一种猜测,但是这可能会为你工作。当使用qazxsw POI,你是投影qazxsw POI成另一种形式,在这种情况下,它是一个Select名单

IEnumerable

1
投票

您可以使用x.Attributes("status").Value项目收集到所需的具体结果。例如:

var errcodeList = xml.Descendants("Add")
                     .Where(x => x.Attribute("status").Value != "0")
                     .Select(x => x.Attributes("status").Value);
© www.soinside.com 2019 - 2024. All rights reserved.