<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; }
跟楼上的差不多
噜噜哒
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;
随手一写,高手勿笑。
- 2 回答
- 0 关注
- 524 浏览
添加回答
举报
0/150
提交
取消