Упорядочивание результатов XMLDocument.SelectNodes - PullRequest
0 голосов
/ 01 февраля 2011

У меня есть следующий XML, который я хочу заказать по приоритету. Не воображайте, что используете XPath, и подумайте, что LINQ может работать, но я получаю исключение аргумента с сообщением «По крайней мере, один объект должен реализовывать IComparable».

Можно ли как-нибудь заказать результаты?

<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!!!

1 Ответ

0 голосов
/ 01 февраля 2011

Изменить x => x.SelectSingleNode("Priority") на x => x.SelectSingleNode("Priority").InnerText

О, и помните, что вы будете сравнивать строки, а не целые, таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...