为了账号安全,请及时绑定邮箱和手机立即绑定

linqtoxml节点筛选。

linqtoxml节点筛选。

临摹微笑 2018-11-26 14:13:49
<data>  <item id="1">    <child id="1" name="aa"></child>    <child id="2" name="bb"></child>    <child id="3" name="cc"></child>  </item>  <item id="2">    <child id="1" name="aa"></child>    <child id="2" name="bb"></child>    <child id="3" name="cc"></child>  </item></data>我想用一个linq根据传入的item节点的ID值和child节点的ID值 ,来获取对应的child节点下的name的属性值。 这个linq如何写啊,
查看完整描述

2 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

public static string GetName(int itemID, int childID)
{    var x = XElement.Load(@"E:\test.xml");    var value = x.Descendants("item")
        .SingleOrDefault(e => e.Attribute("id").Value == itemID + "")
        .Descendants("child")
        .SingleOrDefault(e => e.Attribute("id").Value == childID + "")
        .Attribute("name")
        .Value;    return value;
}

跟楼上的差不多


查看完整回答
反对 回复 2018-11-30
?
噜噜哒

TA贡献1784条经验 获得超7个赞

    string iditem = "2";
    2             string idchild = "3";
    3             var element = XElement.Parse(xml);
    4             var itemEle = element.Descendants("item").Where(r => r.Attribute("id").Value == iditem).First();
    5             var childEle = itemEle.Descendants("child").Where(r => r.Attribute("id").Value == idchild).First();
                 var name = childEle.Attribute("name").Value;

随手一写,高手勿笑。


查看完整回答
反对 回复 2018-11-30
  • 2 回答
  • 0 关注
  • 524 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信