XPathNavigator.NavigatorComparer Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
IEqualityComparer Získá použití pro porovnání XPathNavigator rovnosti objektů.
public:
static property System::Collections::IEqualityComparer ^ NavigatorComparer { System::Collections::IEqualityComparer ^ get(); };
public static System.Collections.IEqualityComparer NavigatorComparer { get; }
static member NavigatorComparer : System.Collections.IEqualityComparer
Public Shared ReadOnly Property NavigatorComparer As IEqualityComparer
Hodnota vlastnosti
Používá se IEqualityComparer k porovnání XPathNavigator rovnosti objektů.
Příklady
Následující příklad znázorňuje použití NavigatorComparer vlastnosti.
XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();
Hashtable table = new Hashtable(XPathNavigator.NavigatorComparer);
// Add nodes to the Hashtable.
foreach (XPathNavigator navigator2 in navigator.Select("//book"))
{
object value = navigator2.Evaluate("string(./title)");
table.Add(navigator2.Clone(), value);
Console.WriteLine("Added book with title {0}", value);
}
Console.WriteLine(table.Count);
Console.WriteLine("Does the Hashtable have the book \"The Confidence Man\"?");
Console.WriteLine(table.Contains(navigator.SelectSingleNode("//book[title='The Confidence Man']")));
Dim document As XPathDocument = New XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
Dim table As Hashtable = New Hashtable(XPathNavigator.NavigatorComparer)
' Add nodes to the Hashtable.
For Each navigator2 As XPathNavigator In navigator.Select("//book")
Dim value As Object = navigator2.Evaluate("string(./title)")
table.Add(navigator2.Clone(), value)
Console.WriteLine("Added book with title {0}", value)
Next
Console.WriteLine(table.Count)
Console.WriteLine("Does the Hashtable have the book 'The Confidence Man'?")
Console.WriteLine(table.Contains(navigator.SelectSingleNode("//book[title='The Confidence Man']")))
Příklad vezme books.xml soubor jako vstup.
<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
<book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
Poznámky
Vlastnost NavigatorComparer umožňuje XPathNavigator porovnání objektů na základě pozice, nikoli odkazu na objekt. Equals A ComparePosition metody implementované touto třídou jsou založeny na pozici XPathNavigator objektů předaných jako parametry. Metoda GetHashCode implementovaná touto třídou používá vlastnosti uzlu, jako je místní název a identifikátor URI oboru názvů k vytvoření hash kódu pro uzel.