XNode.DocumentOrderComparer Özellik

Tanım

İki düğümün göreli konumunu karşılaştırabilen bir karşılaştırıcı alır.

public:
 static property System::Xml::Linq::XNodeDocumentOrderComparer ^ DocumentOrderComparer { System::Xml::Linq::XNodeDocumentOrderComparer ^ get(); };
public static System.Xml.Linq.XNodeDocumentOrderComparer DocumentOrderComparer { get; }
member this.DocumentOrderComparer : System.Xml.Linq.XNodeDocumentOrderComparer
Public Shared ReadOnly Property DocumentOrderComparer As XNodeDocumentOrderComparer

Özellik Değeri

XNodeDocumentOrderComparer

XNodeDocumentOrderComparer İki düğümün göreli konumunu karşılaştırabilen bir.

Örnekler

Aşağıdaki örnek, bazı öğeler içeren bir XML ağacı oluşturur. Daha sonra xml ağacından XNode rastgele bazı öğeleri içeren bir List<T> oluşturur. Ve arabirimlerini uygulayan bir XNodeDocumentOrderCompareralmak için bu özelliği kullanarak listeyi sıralar 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  

Bu örnek aşağıdaki çıkışı oluşturur:

<Child1>1</Child1>  
<Child3>3</Child3>  
<Child5>5</Child5>  

Açıklamalar

Bu özellik öncelikle uzantı yöntemini uygulamak InDocumentOrder için dahili olarak kullanılır. Önerilen yaklaşım, bu özelliği doğrudan kullanmak yerine bu uzantı yöntemini kullanmaktır.

Şunlara uygulanır

Ayrıca bkz.