<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 关注
- 583 浏览
添加回答
举报
0/150
提交
取消
