Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
XPath-frågor är medvetna om namnområden i ett XML-dokument och kan använda namnområdesprefix för att kvalificera element- och attributnamn. Kvalificerande element- och attributnamn med ett namnområdesprefix begränsar noderna som returneras av en XPath-fråga till endast de noder som tillhör ett specifikt namnområde.
Om prefixet books
till exempel mappar till namnområdet http://www.contoso.com/books
väljer följande XPath-fråga /books:books/books:book
endast de book
elementen i namnområdet http://www.contoso.com/books
.
Om du vill använda namnområden i en XPath-fråga skapas ett objekt som härleds från IXmlNamespaceResolver gränssnittet som XmlNamespaceManager klassen med namnområdes-URI:n och prefixet som ska inkluderas i XPath-frågan.
Objektet XmlNamespaceManager kan användas i frågan på vart och ett av följande sätt.
Objektet XmlNamespaceManager är associerat med ett befintligt XPathExpression objekt med hjälp SetContext av -metoden för XPathExpression objektet. Du kan också kompilera ett nytt XPathExpression objekt med den statiska Compile metoden som tar en sträng som representerar XPath-uttrycket och ett XmlNamespaceManager objekt som parametrar och returnerar ett nytt XPathExpression objekt.
Själva XmlNamespaceManager objektet skickas som en parameter till en accepterande XPathNavigator klassmetod tillsammans med en sträng som representerar XPath-uttrycket.
Följande är metoderna för klassen XPathNavigator som accepterar ett objekt som härleds från IXmlNamespaceResolver gränssnittet som en parameter.
I DET XML-dokument som följer används standardnamnområdet med ett tomt prefix för att deklarera http://www.contoso.com/books
namnområdet.
<books xmlns="http://www.contoso.com/books">
<book>
<title>Title</title>
<author>Author Name</author>
<price>5.50</price>
</book>
</books>
XPath behandlar det tomma prefixet null
som namnområdet. Med andra ord kan endast prefix som mappas till namnområden användas i XPath-frågor. Det innebär att om du vill fråga mot ett namnområde i ett XML-dokument, även om det är standardnamnområdet, måste du definiera ett prefix för det.
Om du till exempel inte definierar ett prefix för XML-dokumentet ovan returnerar XPath-frågan /books/book
inga resultat.
Ett prefix måste vara bundet för att förhindra tvetydighet när du kör frågor mot dokument med vissa noder som inte finns i ett namnområde och vissa i ett standardnamnområde.
Följande kod definierar ett prefix för standardnamnområdet och markerar alla book
element från http://www.contoso.com/books
namnområdet.
Dim document As XPathDocument = New XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
Dim query As XPathExpression = navigator.Compile("/books:books/books:book")
Dim manager As XmlNamespaceManager = New XmlNamespaceManager(navigator.NameTable)
manager.AddNamespace("books", "http://www.contoso.com/books")
query.SetContext(manager)
Dim nodes As XPathNodeIterator = navigator.Select(query)
XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();
XPathExpression query = navigator.Compile("/books:books/books:book");
XmlNamespaceManager manager = new XmlNamespaceManager(navigator.NameTable);
manager.AddNamespace("books", "http://www.contoso.com/books");
query.SetContext(manager);
XPathNodeIterator nodes = navigator.Select(query);
Feedback om .NET
.NET är ett öppen källkod projekt. Välj en länk för att ge feedback:
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Modul
Fråga konfigurationsinformation med hjälp av CIM och WMI - Training
Den här modulen förklarar strukturen för de namnområden som innehåller klasser och även hur du frågar efter instanser av en klass. Den beskriver hur du frågar fjärrdatorer med hjälp av ad hoc-anslutningar och CIM-sessioner.