![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 14.06.2004 Ostrzeżenie: (0%) ![]() ![]() |
mając plik xml:
Chcę się dostać przez xPatha do elementów które posiadają swoją wartość, ale nie w ich dzieciach. Czyli pytanie powinno w tym przypaku nie zwrócić łącza np. do <zle>, który nie posiada sam w sobie wartości, lecz oddzielnie do jego dzieci które posiadają wartość <z>. Stosowłem min. pytania *//*[text()] oraz *//*[count(text()) = 1] ale one są złe. Ten post edytował ignition 28.10.2005, 21:23:57 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
witam ...
Kod //*/[text(attribute::*)] (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ps. ten slasz po * jest chyba potrzebny bo chcesz sprawdzać atrybuty dla dzieci .... polecam man do xpatha (bardzo pomocny) http://www.w3.org/TR/1999/REC-xpath-19991116.html pozdrawiam |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 14.06.2004 Ostrzeżenie: (0%) ![]() ![]() |
Nie chce wartości atrybutów lecz samego elementu. Po drugie Orson twoje zapytanie jest błędne.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
witam ...
hmm ... chcesz otrzymać text zawarty w ostatnich atrybutach w ścieżce (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) czyli np: Blabla, I like you albo text1 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? jeżeli tak to twoje pytanie Kod *//*[count(text()) = 1] jest poprawne ... z twojego dokumentu otrzymałem taki wynik: Kod Array ( [0] => SimpleXMLElement Object ( [0] => Blabla ) [1] => SimpleXMLElement Object ( [strong] => strong ) [2] => SimpleXMLElement Object ( [0] => strong ) [3] => SimpleXMLElement Object ( [0] => I like you ) [4] => SimpleXMLElement Object ( [0] => blabla ) [5] => SimpleXMLElement Object ( [0] => text1 ) [6] => SimpleXMLElement Object ( [0] => text2 ) ) pozdrawiam |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 14.06.2004 Ostrzeżenie: (0%) ![]() ![]() |
No tak, tylko jeśli mamy taki np układ:
to przy pytaniu *//*[count(text()) = 1]: odda mi: Kod Array ( [0] => SimpleXMLElement Object ( [0] => jakiś tekst 0 ) [1] => SimpleXMLElement Object ( [0] => jakiś tekst 0.5 ) [2] => SimpleXMLElement Object ( [0] => jakiś tekst 3 ) ) a ja chciałbym by zwrócił mi każdy element który posiada wartość tekst nie licząc w potomnych elementach, czyli: Kod Array
[1] => SimpleXMLElement Object ( [0] => jakiś tekst 0 ) [2] => SimpleXMLElement Object ( [0] => jakiś tekst 0.5 ) [3] => SimpleXMLElement Object ( [0] => jakiś tekst ) [4] => SimpleXMLElement Object ( [0] => jakiś tekst 2 ) [5] => SimpleXMLElement Object ( [0] => jakiś tekst 3 ) Ten post edytował ignition 30.10.2005, 09:35:39 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 06:59 |