我以meam为例,我可以得到
var collection = from c in el.Descendants("current_conditions")
select c;
只有node - current_conditions及其属性。
但是如何在没有新查询的情况下获取其他节点(forecast_conditions)(是否可以在一个查询中执行此操作?)? XML doc看起来像这样
<current_conditions>
<condition data="Clear"/>
<temp_f data="36"/>
<temp_c data="2"/>
<humidity data="Humidity: 70%"/>
<icon data="/ig/images/weather/sunny.gif"/>
<wind_condition data="Wind: N at 9 mph"/>
</current_conditions>
<forecast_conditions>
<day_of_week data="Fri"/>
<low data="28"/>
<high data="54"/>
<icon data="/ig/images/weather/mostly_sunny.gif"/>
<condition data="Mostly Sunny"/>
</forecast_conditions>
答案 0 :(得分:1)
如果你为root元素执行doc.Element,你将获得root下的所有元素节点。
var xElement = doc.Element(rootElementName);
要获取任何元素下的所有元素节点,可以使用Elements()
XElement elem = xElement.Element(anyElementName);
IEnumerable<XElement> nodeCollection = from allNodes in elem.Elements()
select allNodes;