XNode.DocumentOrderComparer 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
會得到一個比較器,可以比較兩個節點的相對位置。
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> 包含 XML 樹中某些元素的 of XNode 。 它會對清單進行排序,利用此特性取得 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 擴充方法。 建議的做法是使用該擴展方法,而非直接使用此特性。