XNode.DocumentOrderComparer Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает средство сравнения, которое может сравнить относительную позицию двух узлов.
public:
static property System::Xml::Linq::XNodeDocumentOrderComparer ^ DocumentOrderComparer { System::Xml::Linq::XNodeDocumentOrderComparer ^ get(); };
public static System.Xml.Linq.XNodeDocumentOrderComparer DocumentOrderComparer { get; }
static member DocumentOrderComparer : System.Xml.Linq.XNodeDocumentOrderComparer
Public Shared ReadOnly Property DocumentOrderComparer As XNodeDocumentOrderComparer
Значение свойства
Значение XNodeDocumentOrderComparer , которое может сравнить относительную позицию двух узлов.
Примеры
В следующем примере создается дерево XML с некоторыми элементами. Затем он создает элемент List<T>XNode , содержащий некоторые элементы из дерева XML случайным образом. Он сортирует список, используя это свойство для получения XNodeDocumentOrderComparer, который реализует System.Collections.IComparer интерфейсы и System.Collections.Generic.IComparer<T> интерфейсы.
XElement xmlTree = new XElement("Root",
new XElement("Child1", 1),
new XElement("Child2", 2),
new XElement("Child3", 3),
new XElement("Child4", 4),
new XElement("Child5", 5)
);
List<XNode> nodeList = new List<XNode>();
nodeList.Add(xmlTree.Element("Child5"));
nodeList.Add(xmlTree.Element("Child3"));
nodeList.Add(xmlTree.Element("Child1"));
// Sort nodes in document order.
nodeList.Sort(XNode.DocumentOrderComparer);
foreach (XElement el in nodeList)
Console.WriteLine(el);
Dim xmlTree As XElement = _
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
Dim nodeList As List(Of XNode) = New List(Of XNode)()
nodeList.Add(xmlTree.Element("Child5"))
nodeList.Add(xmlTree.Element("Child3"))
nodeList.Add(xmlTree.Element("Child1"))
' Sort nodes in document order.
nodeList.Sort(XNode.DocumentOrderComparer)
For Each el In nodeList
Console.WriteLine(el)
Next
В примере получается следующий вывод.
<Child1>1</Child1>
<Child3>3</Child3>
<Child5>5</Child5>
Комментарии
Это свойство в основном используется внутренне для реализации InDocumentOrder метода расширения. Рекомендуемый подход — использовать этот метод расширения вместо непосредственного использования этого свойства.