如何在 C# 中使用 XElement 获取 xml 中第二个子元素的值

how get the value of second child element in xml using XElement in c#

我想获取第二个价格的值element.we无法获取最后一个或第一个directly.but我不知道如何直接获取第二个元素。 这是xml.....(我只放了需要的part.my xml才有效)

<Departure>
    <Date>2016-09-24T00:00:00.0000000</Date>
    <Pricing>
      <Price>
        <Type>ADT</Type>
        <Value>299.00</Value>
        <Qty>20</Qty>
      </Price>
      <Price>
        <Type>CHD</Type>
        <Value>230.00</Value>
        <Qty>5</Qty>
      </Price>
      <Price>
        <Type>INF</Type>
        <Value>150.00</Value>
        <Qty>5</Qty>
      </Price>
      <Price>
        <Type>FAM</Type>
        <Value>0.00</Value>
        <Qty>0</Qty>
      </Price>
      <Price>
        <Type>SEN</Type>
        <Value>299.00</Value>
        <Qty>20</Qty>
      </Price>
    </Pricing>
  </Departure>
  <Departure>

这就是我拿 Last() 的方式

 numberofDays = itm.Elements("Itinerary").Elements("ItineraryItem").Elements("EndDay").Last().Value,

像这样我想得到第二个价格元素的值。(类型值是"CHD")

要获取位置 N 的元素,您可以跳过 N-1 个元素,然后取 FirstOrDefault:

var secondPrice = item.GetElements("Price").Skip(1).FirstOrDefault();

这不是使用 XML 的最新方法,但这会起作用

    XmlDocument doc = new XmlDocument();
    doc.LoadXml(XML);

    XmlNode secondPrice = doc.GetElementsByTagName("Price")[1];