【问题标题】:how get the value of second child element in xml using XElement in c#如何在c#中使用XElement获取xml中第二个子元素的值
【发布时间】:2015-12-09 04:17:01
【问题描述】:

我想获取第二个价格元素的值。我们不能直接获取最后一个或第一个。但是我不知道如何直接获取第二个元素。 这是xml....(我只放了需要的部分。我的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”)

【问题讨论】:

    标签: c# xml xelement


    【解决方案1】:

    要在位置N 处获取元素,您可以跳过N-1 元素,并采用FirstOrDefault

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

    【讨论】:

      【解决方案2】:

      不是使用 XML 的最新方法,但可以使用

          XmlDocument doc = new XmlDocument();
          doc.LoadXml(XML);
      
          XmlNode secondPrice = doc.GetElementsByTagName("Price")[1];
      

      【讨论】:

        猜你喜欢
        • 2012-12-12
        • 1970-01-01
        • 2021-05-14
        • 1970-01-01
        • 2011-02-17
        • 1970-01-01
        • 2011-07-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多