2012-03-23 94 views
0

我MEAM例如,我可以得到如何讓所有節點及其屬性的XML使用LINQ

var collection = from c in el.Descendants("current_conditions") 
       select c; 

唯一節點 - current_conditions其屬性。

但如何獲得其他節點(forecast_conditions)沒有新的查詢再次(是否有可能在一個查詢?)? XML文檔看起來像這樣

<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> 
+3

el.Elements(); ? – Default 2012-03-23 22:03:39

回答

1

如果爲根元素你得到的根目錄下的所有元素節點做doc.Element。

var xElement = doc.Element(rootElementName); 

要獲得任何元素下的所有元素節點,你可以使用元素()

XElement elem = xElement.Element(anyElementName); 
    IEnumerable<XElement> nodeCollection = from allNodes in elem.Elements() 
                  select allNodes; 
+1

爲什麼不只是'nodeCollection = elem.Elements();'? – Default 2012-03-23 22:25:15

相關問題