XPath-testaaja

Testaa XPath-lausekkeita XML- tai HTML-dataan ja tarkastele jokaista täsmäävää solmua, arvoa ja polkua.

Syötteen tyyppi
XML- / HTML-syöte
Tulokset
Syötä XML- tai HTML-data ja testattava XPath-lauseke.

XML-, HTML- ja XPath-tietosi testataan selaimessasi. Mitään ei ladata BroBroGo-palveluun.

UKK

Voinko testata XPath-lausekkeita HTML-materiaaliin XML:n lisäksi?

Kyllä. XML-tila noudattaa XML-nimiavaruussääntöjä. HTML-tila on joustavampi ja sallii yksinkertaisten polkujen, kuten //a, täsmätä normaaleihin tageihin.

Miten XML-nimiavaruudet toimivat?

XML-dokumentissasi määritettyjä nimiavaruuksien etuliitteitä voidaan käyttää XPath-lausekkeessa, esimerkiksi muodossa //x:item. Oletusnimiavaruuksien kohdalla myös //item noudattaa dokumentin määritystä.

Miksi kysely voi aikakatkaista?

Erittäin suurten dokumenttien tai laajojen lausekkeiden arviointi voi vaatia paljon tehoa. Työkalu keskeyttää suorituksen 2 sekunnin kuluttua, jotta sivu pysyy toimivana; tarkenna polkua tai kokeile pienempää esimerkkidataa.

XPath-testaus XML- ja HTML-dokumenteissa

XPath (XML Path Language) on standardoitu kyselykieli, jota käytetään solmujen ja tietojen paikantamiseen XML- ja HTML-dokumenteista. XPath-testaaja tarjoaa ympäristön näiden lausekkeiden kehittämiseen, testaamiseen ja hienosäätöön suoraan selaimessa. Työkalun avulla voidaan varmistaa, että kirjoitetut polut kohdistuvat tarkasti haluttuihin elementteihin, attribuutteihin tai tekstisisältöihin ennen niiden viemistä osaksi ohjelmistokoodia, tiedonkeruujärjestelmiä tai datamigraatioprosesseja.

Työkalu analysoi syötetyn dokumentin ja suorittaa sille määritetyn XPath-lausekkeen. Tuloksena näytetään kaikkien täsmäävien solmujen tyyppi, nimi, tarkka polku sekä esikatselu solmun arvosta. Jokaisen yksittäisen hakutuloksen arvo on kopioitavissa erikseen jatkokäsittelyä varten.

XML- ja HTML-tilojen erot arvioinnissa

Dokumenttien rakenteelliset erot vaikuttavat siihen, miten XPath-lausekkeita tulkitaan. Työkalussa on valittavissa kaksi eri toimintatilaa syötteen tyypin mukaan:

  • XML-tila (XML mode): Tässä tilassa noudatetaan tarkasti XML-standardin mukaisia nimiavaruussääntöjä ja rakenteellista kurinalaisuutta. XML-dokumentit vaativat usein tarkkaa solmupolkujen määrittelyä ja nimiavaruuksien huomioimista, jotta haku kohdistuu oikeisiin elementteihin.
  • HTML-tila (HTML mode): HTML-dokumenttien rakenne on usein XML-dokumentteja sallivampi. HTML-tilassa työkalu on joustavampi ja sallii yksinkertaisten polkujen, kuten //a, täsmätä normaaleihin tageihin ilman tiukkoja XML-muotovaatimuksia.

Valittu tila määrittää, miten jäsennin käsittelee dokumentin elementtejä ja niiden välisiä suhteita. Oikean tilan valinta varmistaa, että haku toimii samalla tavalla kuin kohdejärjestelmässä.

Nimiavaruuksien käsittely XML-tilassa

XML-dokumenteissa käytetään usein nimiavaruuksia (namespaces) estämään elementtien nimien törmäyksiä. Tämä vaikuttaa suoraan XPath-lausekkeiden kirjoittamiseen:

  1. Määritetyt etuliitteet: XML-dokumentissa ilmoitettuja nimiavaruuksien etuliitteitä voidaan käyttää suoraan XPath-lausekkeessa, esimerkiksi muodossa //x:item.
  2. Oletusnimiavaruudet: Jos dokumentissa on käytössä oletusnimiavaruus, myös ilman etuliitettä kirjoitettu polku, kuten //item, noudattaa dokumentin omaa nimiavaruusilmoitusta.

Nimiavaruuksien huomioiminen on välttämätöntä, sillä väärin määritetty polku ei löydä solmuja, vaikka elementin nimi itsessään olisi oikein.

Tehokkaiden XPath-lausekkeiden rakentaminen

Monimutkaiset tai huonosti optimoidut XPath-lausekkeet voivat vaatia huomattavan paljon laskentatehoa, erityisesti jos dokumentti on suuri. Suorituskyvyn varmistamiseksi ja resurssien säästämiseksi on suositeltavaa noudattaa seuraavia periaatteita:

  • Vältä tarpeetonta syvää hakua: Lauseke //elementti käy läpi dokumentin jokaisen tason. Jos dokumentin rakenne tunnetaan, tarkempi polku kuten /root/parent/elementti on huomattavasti nopeampi arvioida.
  • Rajoita hakualuetta predikaateilla: Käytä indeksejä tai attribuuttisuodattimia (esimerkiksi //item[@id="123"]) rajaamaan hakutuloksia mahdollisimman aikaisessa vaiheessa.
  • Huomioi dokumentin koko: Työkalun XML- tai HTML-syötteen maksimipituus on 500 000 merkkiä ja XPath-lausekkeen maksimipituus on 4 000 merkkiä.

Jos lausekkeen suoritus kestää liian kauan, työkalu keskeyttää arvioinnin automaattisesti sivun suorituskyvyn säilyttämiseksi.

Työkalun tekniset rajoitukset ja virhetilanteet

XPath-testaaja suorittaa kyselyt reaaliaikaisesti, mutta sen toiminnassa on tiettyjä teknisiä reuna-ehtoja ja suojamekanismeja:

  • Aikakatkaisu: Työkalu lopettaa XPath-lausekkeen arvioinnin 2 sekunnin kuluttua, jotta sivu pysyy toimivana. Jos suoritus keskeytyy, näytetään virheilmoitus: Tämän XPath-lausekkeen suorittaminen kesti liian kauan. Tarkenna lauseketta tai käytä pienempää esimerkkidataa..
  • Dokumentin koko: Jos syötetty dokumentti ylittää sallitun pituuden, työkalu ilmoittaa: Tämä dokumentti on liian suuri testattavaksi tässä. Kokeile pienempää esimerkkidataa..
  • Lausekkeen pituus: Jos XPath-lauseke ylittää 4 000 merkin rajan, näytetään ilmoitus: Tämä XPath-lauseke on liian pitkä testattavaksi tässä..
  • Jäsennysvirheet: Jos syötettyä dokumenttia ei voida tulkita XML- tai HTML-muotoon, näytetään virhe: Dokumentin jäsentäminen epäonnistui..
  • Syntaksivirheet: Jos XPath-lauseke on kirjoitettu väärin, työkalu ilmoittaa: Tämä XPath-lauseke ei ole kelvollinen.. Jos lauseketta ei voida muusta syystä arvioida, virheilmoituksena on: XPath-lausekkeen arviointi epäonnistui..
  • Tulosten määrä: Jos haku ei tuota tuloksia, näytetään teksti: Ei tuloksia.. Kun hakutuloksia löytyy yli 200 kappaletta, työkalu rajoittaa näkymää ja ilmoittaa: Näytetään ensimmäiset {max} tulosta., jolloin listataan vain ensimmäiset 200 tulosta.

On tärkeää huomata, että tämä työkalu testaa staattista XML- tai HTML-tekstisisältöä. Se ei edusta verkkosivujen reaaliaikaista rakennetta, selaimessa dynaamisesti renderöityä DOM-puuta (Document Object Model) eikä se tee verkkopyyntöjä ulkoisiin osoitteisiin.

Tietosuoja ja käsittely

Kaikki syötetty materiaali käsitellään paikallisesti. XML- ja HTML-dokumentit sekä XPath-lausekkeet testataan suoraan käyttäjän omassa selaimessa. Mitään syötettyjä tietoja tai dokumentteja ei ladata BroBroGo-palveluun.

Usein kysytyt kysymykset

Voinko testata XPath-lausekkeita HTML-materiaaliin XML:n lisäksi?

Kyllä. XML-tila noudattaa XML-nimiavaruussääntöjä. HTML-tila on joustavampi ja sallii yksinkertaisten polkujen, kuten //a, täsmätä normaaleihin tageihin.

Miten XML-nimiavaruudet toimivat?

XML-dokumentissasi määritettyjä nimiavaruuksien etuliitteitä voidaan käyttää XPath-lausekkeessa, esimerkiksi muodossa //x:item. Oletusnimiavaruuksien kohdalla myös //item noudattaa dokumentin määritystä.

Miksi kysely voi aikakatkaista?

Erittäin suurten dokumenttien tai laajojen lausekkeiden arviointi voi vaatia paljon tehoa. Työkalu keskeyttää suorituksen 2 sekunnin kuluttua, jotta sivu pysyy toimivana; tarkenna polkua tai kokeile pienempää esimerkkidataa.