Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 75|Svar: 0

Använd XPath för att hämta XML- och HTML-dokumentinnehåll

[Kopiera länk]
Publicerad påFör 3 dagar sedan | | | |
XPath är en teknik som noggrant och effektivt specificerar och extraherar den nödvändiga informationen från trädstrukturdata, såsom HTML och XML.

XPath Översikt

XPath är ett språk som används för att specificera och extrahera specifika element och attribut i ett XML- eller HTML-dokumentträd. Eftersom webbsidor ofta består av HTML används XPath i stor utsträckning i olika scenarier, såsom webbskrapning, datasökning och XML-datasökning.

Typisk användning är följande:

  • Datautvinning i webbcrawlers: XPath används för att automatiskt hämta specifik data, såsom produktinformation på e-handelswebbplatser eller artikeltitlar på nyhetssajter.
  • XML-datasökning och bearbetning: I affärssystem och datalänksbehandling utbyts data ofta i XML-format. Genom att använda XPath kan du effektivt extrahera nödvändig information från stora mängder XML-data.
  • Parsing API-svar (XML-format): När man använder XML-baserade API:er, såsom SOAP, används XPath för att analysera svarsdata. Detta gör att du snabbt kan få specifika statuskoder och resultatdata, vilket förbättrar noggrannheten i systemintegration och automatiserad bearbetning.

Verktygsrekommendation

I processen att lära sig och använda XPath inkluderar vanliga verktyg:

Chrome Developer Tools: Ett kraftfullt verktyg som följer med Chrome-webbläsaren, du kan kalla det genom att trycka på F12-knappen. I panelen "Elements" kan du snabbt hitta HTML-element på en webbsida genom att hovra och klicka, och genom att högerklicka på ett element kan du direkt kopiera XPath-uttrycket för enkel verifiering och testning. Till exempel, när du analyserar en e-handelsproduktsida kan du använda Chrome-utvecklarverktyg för att snabbt hämta XPath för produktnamn, priser och andra element.
Firefox Developer Tools: Levereras också med webbläsaren, liknande Chrome Developer Tools. Det gör det också möjligt att enkelt hitta element på din sida, samt att visa och testa XPath-uttryck. Detta är ett bra alternativ för utvecklare som är vana vid att använda Firefox-webbläsaren.
Online XPath-testverktyg: Onlineverktyg som "XPath Tester" kan användas utan installation och kan användas genom att öppna en webbsida. Klistra helt enkelt in innehållet i ett XML- eller HTML-dokument, ange ett XPath-uttryck och se matchningsresultatet i realtid. Detta verktyg är särskilt lämpligt för nybörjare som snabbt vill komma igång och göra enkla XPath-övningar.
XPath Helper Plugin: Tar vi Chrome Browser som exempel, efter installation av XPath Helper-pluginet kommer det att lägga till ett flytande fönster i webbläsarens gränssnitt när du surfar på webben, som visar XPath-vägen för det aktuella mus-över-elementet, och du kan redigera och testa XPath-uttryck direkt i fönstret, vilket avsevärt förbättrar utvecklingseffektiviteten.

XPath abstrakt syntax

Välj en nod

XPath använder väguttryck för att välja noder i ett XML-dokument. Noder väljs genom att följa en väg eller ett steg. De mest användbara väguttrycken listas nedan:
uttryck
beskrivning
NodnamnPlockar alla undernoder till denna nod.
/Välj från rotnoden (ta barnnoden).
//Väljer noder i dokumentet från den aktuella noden i matchningsvalet, oavsett deras placering (ta efterföljande noder).
.Välj den aktuella noden.
..Välj föräldranoden till den aktuella noden.
@Välj ett attribut.

I tabellen nedan har vi listat några väguttryck tillsammans med resultaten av uttrycken:
Väguttryck
utfall
bokhandelVälj alla noder som heter bokhandel.
/bookstore
Välj rootelement-bokhandeln.
Observera: Om vägen börjar med ett framåtriktat streck ( / ), representerar denna väg alltid en absolut väg till ett element!
Bokhandel/bokVäljer alla bokdelar som är barndelar i bokhandeln.
//bookVäljer alla bokdelar, oavsett deras placering i dokumentet.
Bokhandel//bokVälj alla bokelement som är ättlingar till bokhandelselementet, oavsett var de är placerade under bokhandeln.
@langVälj alla fastigheter som heter lang.

Predikat

Ett predikat används för att hitta en specifik nod eller en nod som innehåller ett specificerat värde.
Predikatet är inbäddat inom hakparenteser.
I tabellen nedan listar vi några väguttryck med predikat, samt resultaten av uttrycken:
Väguttryck
utfall
/bookstore/book[1]Välj det första bokelementet som ingår i bokhandelns barnelement.
/bookstore/book[last()]Väljer det sista bokelementet som ingår i bokhandelns underelement.
/bookstore/book[last()-1]Väljer näst sista bokdelen som tillhör bokhandelns barnelement.
/bookstore/book[position()<3]Välj de två första bokelementen som är barndelar av bokhandelselementet.
titel[@lang]Väljer alla titelelement som har en egenskap som heter lang.
titel[@lang='eng']Väljer alla titelelement som har ett lang-attribut med ett eng-värde.
/bookstore/book[price>35.00]Väljer alla bokdelar i bokhandelselementet, och värdet på priselementet måste vara högre än 35,00.
/bookstore/book[price>35.00]//titleVäljer alla titelelement i bokdelen i bokhandeln, och värdet på priselementet måste vara över 35,00.

Välj en okänd nod

XPath-jokrar kan användas för att plocka upp okända XML-element.
jokertecken
beskrivning
*Matchar vilken elementnod som helst.
@*Matchar vilken attributnod som helst.
nod()Matchar vilken typ av nod som helst.

I tabellen nedan listar vi några väguttryck och resultaten av dessa uttryck:
Väguttryck
utfall
/bookstore/*Plockar alla barnelement från bokhandelselementet.
//*Väljer alla element i dokumentet.
titel[@*]Väljer alla titelelement med attribut.

Välj flera vägar

Genom att använda "|" i väguttrycket Operatörer, ni kan välja flera vägar.

I tabellen nedan listar vi några väguttryck och resultaten av dessa uttryck:
Väguttryck
utfall
//book/title | //book/priceVäljer alla titel- och priselement i bokdelen.
titel | prisVälj alla titel- och priselement i dokumentet.
/bookstore/book/title | //priceVäljer alla titelelement i bokdelen som tillhör bokhandelselementet, samt alla priselement i dokumentet.

XPath-funktionen

Följande är en kommenterad lista över XPath-specifika tillägg till XPath efter kärnfunktioner i XPath och XSLT, inklusive beskrivningar, syntax, parameterlistor, resultattyper och källor i motsvarande W3C-rekommendationer.

  • boolean()
  • tak()
  • välj()
  • concat()
  • innehåller()
  • räkna()
  • current() XSLT-specifik
  • dokument() XSLT-specifikt
  • element-tillgänglig()
  • false()
  • golv()
  • format-number() XSLT-specifik
  • Funktion-tillgänglig()
  • generate-id() XSLT-specifik
  • id()
  • key() XSLT-specifik
  • lang()
  • last()
  • local-name()
  • name()
  • namespace-uri()
  • normalize-space()
  • not()
  • number()
  • position()
  • rund()
  • starts-with()
  • string()
  • stränglängd()
  • delsträng()
  • substring-efter()
  • delsträng-före()
  • sum()
  • system-property() XSLT-specifik
  • översätt()
  • true()
  • unparsed-entity-url() XSLT-specifik

Praktiska prov

Öppna Chrome och hämta textinnehållet i alla A-fliklänkar med följande kommando:
Som visas nedan:



Hänvisning:Inloggningen med hyperlänken är synlig.




Föregående:[Dramatiker] (3) Automatiserad testning för att upptäcka felundantag
Nästa:.NET/C# anropar Azure Translators textöversättningsgränssnittstjänst
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com