Есть ли способ в XPath DOM Programming с использованием System.Xml
для запуска selectNodes
(XPATH) с параметром сортировки?
Например, следующий XML и программа записывают значения в том же порядке, что и документ (по убыванию). Есть ли способ использовать XPath для получения значений в порядке возрастания?
Примечание. Конечно, вы можете выполнить предварительную сортировку в XSL, однако мне нужно обновить значения, пока я их циклически перебираю. Поскольку XSL дает мне отсортированную копию элементов, , а не сами элементы , я не могу использовать XSL.
Вот какой-то XML, вывод программы
public static void Main() {
XmlDocument xml = new XmlDocument();
xml.Load( "t.xml" );
// SelectNodes gets in document order, but I want in
// ascending order based on @value
foreach( XmlNode ndNode in xml.SelectNodes( "/xml/ele" ) ) {
Console.WriteLine( ndNode.Attributes["value"].Value );
}
}
Вот XML
<xml>
<ele value='3' test='Third'/>
<ele value='2' test='Second'/>
<ele value='1' test='First'/>
</xml>
Наконец вывод в документе (в порядке убывания). Мне нужен XPath, который возвращает узлы в порядке возрастания.
3
2
1
PS, я использую System.Xml
в Visual Studio 2008 .NET 3.5