linqtoxml节点筛选。

<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如何写啊,

临摹微笑
浏览 525回答 2
2回答

拉丁的传说

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

噜噜哒

&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;iditem&nbsp;=&nbsp;"2"; &nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;idchild&nbsp;=&nbsp;"3"; &nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;element&nbsp;=&nbsp;XElement.Parse(xml); &nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;itemEle&nbsp;=&nbsp;element.Descendants("item").Where(r&nbsp;=>&nbsp;r.Attribute("id").Value&nbsp;==&nbsp;iditem).First(); &nbsp;&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;childEle&nbsp;=&nbsp;itemEle.Descendants("child").Where(r&nbsp;=>&nbsp;r.Attribute("id").Value&nbsp;==&nbsp;idchild).First(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;name&nbsp;=&nbsp;childEle.Attribute("name").Value;随手一写,高手勿笑。
打开App,查看更多内容
随时随地看视频慕课网APP