Introduktion till XPath

XPath är en viktig och viktig del av XSLT-standarden. XPath kan användas för att korsa element, attribut, text, bearbetningsinstruktion, kommentar, namnutrymme och dokument i ett XML-dokument (Extensible Markup Language). Det är en W3C-rekommendation som innehåller ett bibliotek med över 200 inbyggda funktioner. XPath är syntaxen för att definiera delar av ett XML-dokument. XSLT är formatmallen för XML-filer. Med XSLT kan du omvandla XML-dokument till andra format, till exempel XHTML. XQuery handlar om fråga efter XML-data. XQuery är utformad för att fråga allt som kan visas som XML, inklusive databaser. Länkning i XML är indelad i två delar: XLink och XPointer. XLink och XPointer definierar ett vanligt sätt att skapa hyperlänkar i XML-dokument.

Uttryck av XPath

XPath tillåter olika typer av uttryck att hämta relevant information från XML-dokumentet. XPath adresserar en specifik del av dokumentet. Det modellerar ett XML-dokument som ett träd av noder. Ett uttryck för XPath är en teknik för att navigera igenom och välja noder från dokumentet.

XPath-uttryck kan användas i C, C ++, Python, Java, JavaScript, PHP, XML Schema och många andra språk. Ett XPath-uttryck hänvisar till ett mönster för att välja en uppsättning noder. XPointer använder dessa mönster för adresseringsändamål eller för att utföra transformationer av XSLT. XPath-uttrycket anger sju typer av noder som kan vara resultatet av körningen.

1. Rot

Rotelement i ett XML-dokument. På följande sätt kan rotelement hittas.

  1. Använd jokertecken (/ *): För att välja rotnoden
  2. Använd Namn (/ klass): För att välja rotnoden efter namn
  3. Använd Namn med ett jokertecken (/ klass / *): För att välja alla element under rotnoden

Koda:




2. Element

Elementnod för ett XML-dokument. Nedan är sätten att hitta element

  1. / class / *: används för att välja alla element under rotnoden.
  2. / klass / bibliotek: används för att välja alla bibliotekselement från rotnoden.
  3. // bibliotek: används för att välja hela bibliotekselementet från dokumentet.

Koda:




3. Attribut

Ett attribut för en elementnod i XML-dokumentet hämtas och kontrolleras med @ attributnamnet för ett element.

Koda:


4. Text

Text för en elementnod i XML-dokumentet, hämtad och kontrollerad med namnet på ett element.

Koda:


5. Kommentera

Exempel på kommentar

Koda:

Nod eller Lista över noden från XML

Följande är listan med användbara uttryck för att välja en nod eller en lista över noden från ett XML-dokument.

  • '/': Med det här valet börjar du från rotnoden.
  • '//': Att använda det här valet startar från den nuvarande nod som matchar valet
  • '.': För att välja aktuellt används detta uttryck.
  • '..': För att välja den överordnade noden för den aktuella noden.
  • '@': För att välja attribut.

Exempel på XPath

För att förstå ett XPath-uttryck har vi skapat ett XML-dokument, bibliotek.xml och dess stilark dokumentbibliotek.xsl som använder XPath-uttryck under väljattributet för olika XSL-taggar för att få värden på bok-ID, boknamn, författare, publicering och pris för varje boknod.

1. bibliotek.xml

Koda:




Deep Work: Rule for success in a Distracted world
Cal Newport
White Paper
115

The Heart of Success
Nil Manoj Sharma
The Print
95

The King and The Queen
Yashpal Singh
Lotus
190

2. bibliotek.xsl

Koda:


xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price









xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">


Library

Book ID
Book Name
Author
Publication
Price








Produktion:

Fördelarna med XPath

Nedan är fördelarna med Xpath:

  • XPath-frågor är enkla att skriva och läsa och är också kompakta.
  • XPath-syntax är lätt för vanliga och enkla fall.
  • Frågesträngarna är enkelt inbäddade i skript, program och HTML- eller XML-attribut.
  • XPath-frågorna kan enkelt analyseras.
  • Varje nod kan identifieras unikt i ett XML-dokument.
  • I ett XML-dokument kan förekomsten av vilken väg som helst eller någon uppsättning villkor för noderna i sökvägen specificeras.
  • Frågor returnerar valfritt antal resultat, inklusive noll.
  • I ett XML-dokument kan sökvillkoren beräknas på vilken nivå som helst och är inte tänkta att passera från den övre noden i ett XML-dokument.
  • XPath-frågorna returnerar unika noder, inte upprepade noder.
  • I många sammanhang används XPath för att tillhandahålla länkar till noder för att hitta förråd och många andra applikationer.
  • För programmerarna är XPath-frågor inte processuella utan mer deklarativa. De definierar hur element ska korsas. För att få effektiva resultat måste index och andra strukturer användas fritt av en frågaoptimerare.

Slutsats

XPath är ett frågespråk som används för att korsa element, attribut, text genom ett XML-dokument. XPath används ofta för att hitta specifika element eller attribut med matchande mönster. När en fråga definieras kan XML-data representeras som ett träd. Den hierarkiska representationen av XML-data kallas ett träd. Trädets topp är en rotnod. I ett träd motsvarar varje attribut, element, text, kommentarer, sträng och bearbetningsinstruktioner en nod. Förhållandena mellan noderna kan representeras av trädet.

Rekommenderade artiklar

Detta är en guide till Vad är XPath ?. Här diskuterar vi uttryck, lista, exempel och fördelar med Xpath. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer-

  1. Vad är XPath i Selenium?
  2. Vad är XML?
  3. Ny karriärväg
  4. Karriärväg för informationssäkerhet
  5. Exempel på inbyggda Python-funktioner

Kategori: