Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 75|Svare: 0

Bruk XPath for å hente XML- og HTML-dokumentinnhold

[Kopier lenke]
Publisert påFor 3 dager siden | | | |
XPath er en teknologi som nøyaktig og effektivt spesifiserer og henter ut nødvendig informasjon fra trestrukturdata, som HTML og XML.

XPath-oversikt

XPath er et språk som brukes til å spesifisere og hente ut spesifikke elementer og attributter i et XML- eller HTML-dokumenttre. Siden nettsider ofte består av HTML, brukes XPath mye i ulike situasjoner, som webscraping, datahenting og XML-datasøk.

Typisk bruk er som følger:

  • Datauttrekking i nettcrawlere: XPath brukes til automatisk å hente spesifikke data, som produktinformasjon på netthandelsnettsteder eller artikkeltitler på nyhetsnettsteder.
  • XML-datasøk og -behandling: I forretningssystemer og datalinkbehandling utveksles data ofte i XML-format. Ved å bruke XPath kan du effektivt hente ut nødvendig informasjon fra store mengder XML-data.
  • Parsing API-svar (XML-format): Når man bruker XML-baserte API-er, som SOAP, brukes XPath til å analysere svardata. Dette gjør at du raskt kan hente spesifikke statuskoder og resultatdata, noe som forbedrer nøyaktigheten i systemintegrasjon og automatisert behandling.

Verktøyanbefaling

I prosessen med å lære og bruke XPath inkluderer vanlige verktøy:

Chrome Developer Tools: Et kraftig verktøy som følger med Chrome-nettleseren, du kan ringe det ved å trykke på F12-tasten. I "Elements"-panelet kan du raskt finne HTML-elementer på en nettside ved å holde musepekeren og klikke, og høyreklikk på et element kan kopiere XPath-uttrykket direkte for enkel verifisering og testing. For eksempel, når du analyserer en e-handelsproduktside, kan du bruke Chrome-utviklerverktøy for raskt å hente XPath for produktnavn, priser og andre elementer.
Firefox Developer Tools: Leveres også med nettleseren, lik Chrome Developer Tools. Det lar deg også enkelt finne elementer på siden din, samt se og teste XPath-uttrykk. Dette er et godt alternativ for utviklere som er vant til å bruke Firefox-nettleseren.
Nettbaserte XPath-testverktøy: Nettbaserte verktøy som "XPath Tester" kan brukes uten installasjon og kan brukes ved å åpne en nettside. Lim ganske enkelt inn innholdet i et XML- eller HTML-dokument, skriv inn et XPath-uttrykk, og se matchresultatene i sanntid. Dette verktøyet er spesielt egnet for nybegynnere som vil komme raskt i gang og gjøre enkle XPath-øvelser.
XPath Helper Plugin: Tar vi Chrome Browser som eksempel, etter installasjon av XPath Helper-pluginen, vil det legge til et flytende vindu i nettlesergrensesnittet når du surfer på nettet, som viser XPath-stien til det nåværende muse-over-elementet, og du kan redigere og teste XPath-uttrykk direkte i vinduet, noe som i stor grad forbedrer utviklingseffektiviteten.

XPath abstrakt syntaks

Velg en node

XPath bruker stiuttrykk for å velge noder i et XML-dokument. Noder velges ved å følge en sti eller et steg. De mest nyttige stiuttrykkene er listet opp nedenfor:
uttrykk
beskrivelse
NodenavnPlukker alle barnenoder til denne noden.
/Velg fra rotnoden (ta barnenoden).
//Velger noder i dokumentet fra den nåværende noden i det matchende valget, uavhengig av deres plassering (ta etterkommernoder).
.Velg den nåværende noden.
..Velg foreldrenoden til den nåværende noden.
@Velg et attributt.

I tabellen nedenfor har vi listet opp noen stiuttrykk sammen med resultatene av uttrykkene:
Stiuttrykk
utfall
bokhandelVelg alle noder som heter bokhandel.
/bookstore
Velg bokhandelen med root element.
Merk: Hvis stien starter med en fremoverstrek ( / ), representerer denne stien alltid en absolutt vei til et element!
Bokhandel/bokPlukker ut alle bokelementer som er barneelementer i bokhandelen.
//bookPlukker ut alle bokunderelementer, uavhengig av deres plassering i dokumentet.
Bokhandel//bokVelg alle bokelementer som er etterkommere av bokhandelelementet, uavhengig av hvor de befinner seg under bokhandelen.
@langVelg alle eiendommene som heter lang.

Predikater

Et predikat brukes for å finne en spesifikk node eller en node som inneholder en spesifisert verdi.
Predikatet er innfelt i firkantede parenteser.
I tabellen nedenfor lister vi opp noen stiuttrykk med predikater, og resultatene av uttrykkene:
Stiuttrykk
utfall
/bookstore/book[1]Velg det første bokelementet som er en del av barneelementet i bokhandelen.
/bookstore/book[last()]Velger det siste bokelementet som er en del av bokhandelens underelement.
/bookstore/book[last()-1]Velger nest siste bokelement som tilhører barneelementet i bokhandelen.
/bookstore/book[position()<3]Velg de to første bokelementene som er barneelementer i bokhandelen.
tittel[@lang]Velger alle tittelelementer som har en egenskap kalt lang.
title[@lang='eng']Velger alle tittelelementer som har en lang-attributt med en eng-verdi.
/bookstore/book[price>35.00]Velger alle bokelementene i bokhandelelementet, og verdien av priselementet må være over 35,00.
/bookstore/book[price>35.00]//titleVelger alle tittelelementene i bokdelen i bokhandelen, og verdien på priselementet må være høyere enn 35,00.

Velg en ukjent node

XPath-jokerkort kan brukes til å plukke opp ukjente XML-elementer.
jokertegn
beskrivelse
*Matcher enhver elementnode.
@*Matcher enhver attributtnode.
node()Matcher alle typer noder.

I tabellen nedenfor lister vi opp noen stiuttrykk, og resultatene av disse uttrykkene:
Stiuttrykk
utfall
/bookstore/*Plukker alle barneelementene i bokhandelelementet.
//*Velger alle elementene i dokumentet.
tittel[@*]Velger alle tittelelementer med attributter.

Velg flere veier

Ved å bruke "|" i stiuttrykket Operatører, dere kan velge flere veier.

I tabellen nedenfor lister vi opp noen stiuttrykk, og resultatene av disse uttrykkene:
Stiuttrykk
utfall
//book/title | //book/pricePlukker alle tittel- og priselementene i bokelementet.
tittel | prisVelg alle tittel- og priselementer i dokumentet.
/bookstore/book/title | //priceVelger alle tittelelementer i bokdelen som tilhører bokhandelen, og alle priselementer i dokumentet.

XPath-funksjonen

Følgende er en kommentert liste over XPath-spesifikke tillegg til XPath etter kjernefunksjoner i XPath og XSLT, inkludert beskrivelser, syntaks, parameterlister, resultattyper og kilder i de tilsvarende W3C-anbefalingene.

  • boolsk()
  • tak()
  • velg()
  • concat()
  • inneholder()
  • tell()
  • current() XSLT-spesifikt
  • dokument() XSLT-spesifikt
  • element-tilgjengelig()
  • false()
  • gulv()
  • format-number() XSLT-spesifikk
  • funksjon-tilgjengelig()
  • generate-id() XSLT-spesifikk
  • id()
  • Key() XSLT-spesifikt
  • lang()
  • last()
  • local-name()
  • name()
  • namespace-uri()
  • normaliser-space()
  • ikke()
  • number()
  • posisjon()
  • rund()
  • starter-med()
  • streng()
  • strenglengde()
  • delstreng()
  • substring-etter()
  • delstreng-før()
  • sum()
  • system-property() XSLT-spesifikk
  • oversett()
  • true()
  • unparsed-entity-url() XSLT-spesifikk

Praktiske prøver

Åpne Chrome og få tekstinnholdet til alle A-fanelenkene med følgende kommando:
Som vist nedenfor:



Referanse:Innloggingen med hyperkoblingen er synlig.




Foregående:[Dramatiker] (3) Automatisert testing for å fange feilunntak
Neste:.NET/C# kaller Azure Translator tekstoversettelsesgrensesnitttjenesten
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com