2011-02-01 82 views
0

我有以下XML,我想按優先級排序。不喜歡使用XPath,並認爲LINQ可能工作,但我得到一個參數異常拋出的消息「至少有一個對象必須實現IComparable。」排序XMLDocument.SelectNodes結果

我可以採用某種排序的結果?

<Root> 
    <Item> 
    <Priority><![CDATA[4]]</Priority> 
    </Item> 
    <Item> 
    <Priority><![CDATA[1]]</Priority> 
    </Item> 
    <Item> 
    <Priority><![CDATA[3]]</Priority> 
    </Item> 
</Root> 

var result = doc.SelectNodes("//Item"); 
var ordered = ddddd.Cast<XmlNode>().OrderBy(x => x.SelectSingleNode("Priority")); //EXCEPTION!!! 
+0

爲什麼你的優先順序是Loading_Priority ..是故意的......還是錯誤..什麼是異常..你可以顯示堆棧跟蹤 – 2011-02-01 11:21:03

+2

我們是否應該奇蹟般地猜測你在說什麼異常? – 2011-02-01 11:21:32

回答

0

變化x => x.SelectSingleNode("Priority")x => x.SelectSingleNode("Priority").InnerText

哦,記住,你會比較字符串,而不是整數,這樣。