Xpath probleempje met selecteren

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • mazz
  • Registratie: November 2004
  • Laatst online: 08-06 13:48
Ik probeer bijvoorbeeld van een html bron het 1ste B element te selecteren.

Als dan dan //b[1] doe dan krijg ik alsnog 6 resultaten.
Enig idee hoe dit wel moet? Op w3 kan ik helaas niets vinden hierover en ben ondertussen al 2 uur aan het zoeken :(

20 jaar, en wat had ik bereikt?


Acties:
  • 0 Henk 'm!

Verwijderd

Ben zelf geen Xpath expert maar
// selecteerd alle elementen
/ selecteerd het eerste element

kijk ook hier eens als je het niet zeker weet

[ Voor 8% gewijzigd door Verwijderd op 15-04-2009 16:40 ]


Acties:
  • 0 Henk 'm!

  • mazz
  • Registratie: November 2004
  • Laatst online: 08-06 13:48
maar als ik bijvoorbeeld //b/b doe of //b/b[10] krijg ik ook helemaal niets er uit.
DIe link heb ik inderdaad ook gezien maar kon er helaas niet zoveel mee

20 jaar, en wat had ik bereikt?


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Wat doet b[1]? :) Die link van vdevos is heel duidelijk hoor.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • mazz
  • Registratie: November 2004
  • Laatst online: 08-06 13:48
Met b1 krijg ik dus ook netzoveel resultaten. Ze worden niet gelimit tot 1 ofzo.
Kan dit uberhaupt wel in Xpath?

20 jaar, en wat had ik bereikt?


Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Huh? Dat moet gewoon werken. Is je xml wel goed?

Ja, //b geeft de set van alle <b> tags (vanaf daar) ongeacht waar ze voorkomen, en de [1] geeft daar de tweede van (of eerst volgens de standaard geloof ik)

Hier bv: http://www.w3schools.com/...=try_xpath_select_cdnodes

Met =/bookstore/book/title krijg je
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML

//book/title geeft hetzelfde, en //book[1]/title geeft Harry Potter

[ Voor 100% gewijzigd door Zoijar op 15-04-2009 17:16 ]


Acties:
  • 0 Henk 'm!

  • mazz
  • Registratie: November 2004
  • Laatst online: 08-06 13:48
Het is een html ;)
Ik check het met xpath checker van firefox

Zou het komen doordat het een html file is?

[ Voor 27% gewijzigd door mazz op 15-04-2009 17:14 ]

20 jaar, en wat had ik bereikt?


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Zoijar schreef op woensdag 15 april 2009 @ 17:10:
Huh? Dat moet gewoon werken. Is je xml wel goed?

Ja, //b geeft de set van alle <b> tags (vanaf daar) ongeacht waar ze voorkomen, en de \[1] geeft daar de tweede van (of eerst volgens de standaard geloof ik)

Hier bv: http://www.w3schools.com/...=try_xpath_select_cdnodes

Met =/bookstore/book/title krijg je
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML

//book/title geeft hetzelfde, en //book\[1]/title geeft Harry Potter
Die plugin is brak, hij gaat maar twee niveaus diep. Test deze xml
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>
    <lower>
        <book>
            <title lang="eng">Harry Potter</title>
            <price>29.99</price>
        </book>
    </lower>
    <higher>
        <book>
            <title lang="eng">Learning XML</title>
            <price>39.95</price>
        </book>
    </higher>
</bookstore>

Maar eens op //book[1], en vervolgens deze:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>
    <book>
        <title lang="eng">Harry Potter</title>
        <price>29.99</price>
    </book>
    <book>
        <title lang="eng">Harry Potter</title>
        <price>29.99</price>
    </book>
</bookstore>


En aangezien de body meestal (na html) al het tweede niveau is in een html-document zul je met deze plugin niet ver komen.

[ Voor 16% gewijzigd door CodeCaster op 15-04-2009 17:42 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • mazz
  • Registratie: November 2004
  • Laatst online: 08-06 13:48
oke, dat verklaart een hoop.
Weet je nog een betere plugin? Firebug ofzo?

20 jaar, en wat had ik bereikt?


Acties:
  • 0 Henk 'm!

Verwijderd

Weet even geen XPath "debugger" maar dit zou toch ook "manual" makkelijk te checken moeten zijn? Zeker als je even het voorbeeld XML pakt die bovenstaand gegeven is ;)

[ Voor 26% gewijzigd door Verwijderd op 15-04-2009 19:40 ]


Acties:
  • 0 Henk 'm!

  • tonyisgaaf
  • Registratie: November 2000
  • Niet online
code:
1
//b[position() = 1]

position() kijkt binnen de huidige scope (in dit geval de //b resultset) naar de positie. //b[1] slaat op elke b[first-child] (pseudo code...)

[ Voor 69% gewijzigd door tonyisgaaf op 18-04-2009 02:59 ]

NL Weerradar widget Euro Stocks widget Brandstofprijzen widget voor 's Dashboard

Pagina: 1