Article View: pl.comp.xml
Article #9884Re: XPath jak znalezc pierwsze rodzenstwo?
From: TOUDIdel
Date: Wed, 21 May 2008 10:06
Date: Wed, 21 May 2008 10:06
46 lines
2473 bytes
2473 bytes
Użytkownik "Reeno" <reenomt2@gmail.com> napisał w wiadomości
news:41f35acb-01a6-44df-802d-18e297170461@59g2000hsb.googlegroups.com...
> Witam
>
> Mam problem z XPath i znalezieniem pierwszego rodzenstwa.
>
> Mamy np. XML:
>
> <root>
> <node>one</node>
> <node>two</node>
> <node3>three</node3>
> <node4>four</node4>
> </root>
>
> Jaka formula XPath znajdzie mi pierwsze rodzenstwo dla node = 'two',
> czyli docelowo chodzi o <node3>.
> $x_path trzyma caly DOM XML;
>
> Probowalem cos na styl tego
>
> $x_path->evaluate('//node=\'two\'::following-sibling[1]');
>
> ale niestety nie jest to poprawne wyrazenie, i z w3c schools nie moge
> wywnioskowac jak powinno sie wykonac takie zapytanie...
>
> Prosze o pomoc kolegow z wiekszym doswiadczeniem z XPath ;)
>
> Pozdrawiam
> Reeno
trudno powiedziec o jakie rodzenstwo Ci chodzi, bo tak naprawdę "pierwsze"
rodzeństwo dla <node>two</node> to są 2 elementy: <node>one</node> i
<node>three</node>. Oba są takim samym rodzeństwem tego elementu. Więc
doprecyzować trzebaby samo pojęcie "pierwsze rodzeństwo" (czy chodzi o
pierwszy element rodzeństwa występującego przed węzłem kontekstowym czy po)
z Twojego przykładu jednak wnioskuję że chodzi o rodzeństwo występujące po i
Twoja próba była całkiem poprawna, z tym że najpierw podaje się nazwę osi,
potem ::, a potem badanie węzła:
/*/*[text()="two"]/following-sibling::*[1]
--
td
Technical Details
Message-ID:
<g10sjp$scn$1@nemesis.news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!wsisiz.edu.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mailReferences:
<41f35acb-01a6-44df-802d-18e297170461@59g2000hsb.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!wsisiz.edu.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail From: "TOUDIdel" <toudidel@oDWA.pl> Newsgroups: pl.comp.xml Subject: Re: XPath jak znalezc pierwsze rodzenstwo? Date: Wed, 21 May 2008 12:06:16 +0200 Organization: TP - http://www.tp.pl/ Lines: 48 Message-ID: <g10sjp$scn$1@nemesis.news.neostrada.pl> References: <41f35acb-01a6-44df-802d-18e297170461@59g2000hsb.googlegroups.com> NNTP-Posting-Host: hau2.internetdsl.tpnet.pl X-Trace: nemesis.news.neostrada.pl 1211364793 29079 79.187.20.2 (21 May 2008 10:13:13 GMT) X-Complaints-To: usenet@news.neostrada.pl NNTP-Posting-Date: Wed, 21 May 2008 10:13:13 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5512 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit