我有這樣的XML標記一個元素的孫元素:如何選擇使用的XDocument和LINQ
<preferences>
<section name="PREF_SECTION_NAME_1">
<preference name="PREF_EXAMPLE_1" type="text">
<default value="false"></default>
</preference>
<preference name="PREF_EXAMPLE_2" type="radio">
<default value="true"></default>
</preference>
<preference name="PREF_EXAMPLE_3" type="radio">
<default value="false"></default>
</preference>
</section>
<section name="PREF_SECTION_NAME_2">
<preference name="PREF_EXAMPLE_4" type="radio">
<default value="true"></default>
</preference>
<preference name="PREF_EXAMPLE_5" type="radio">
<default value="false"></default>
</preference>
<preference name="PREF_EXAMPLE_6" type="radio">
<default value="true"></default>
</preference>
</section>
</preferences>
我想要得到當偏好屬性名=「PREF_EXAMPLE_2」默認值
我得到了這個:
var t = from p in xDocUser.Descendants("preference").Attributes("name").Where(d=>d.Value==preferencename) select p;
它給了我偏好的屬性,但不是它的孩子。
我該如何做到這一點?
嗯,它實際上只是給你的屬性,而不是元素。不清楚你想要實現什麼,或者你爲什麼要使用一個查詢表達式,這個查詢表達式只是「從某些東西中選擇p」而已。 –
@JonSkeet嗨,喬恩,謝謝你的評論。我想從xDocument獲取Preference屬性名稱=「PREF_EXAMPLE_2」時的默認值。你是否建議不要使用linq? –
我應該添加我將xml文檔加載到xDocument中。你是否也建議我應該堅持使用xml selectnodes等?謝謝 –