如何在 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];
我想获取第二个价格的值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];