![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, to mój pierwszy post na tym forum i od razu zwracam się z problemem.
jestem zielony z xpath a powstała nagła potrzeba, bardzo prosze o pomoc. Problem: muszę z XML (pobieranego z bazy mysql - zawarte w nim dane konfigurują wtyczkę) wyciągnąć jedną wartość. Tą wartosćią jest w podanym przykładowym XML`u 111 zawarte w <value index="vDEF">111</value>, mam do przeczesania kilkadzisiąt tysięcy rekordów więc ręczne wyławianie odpada XML poniżej:
Z góry dziękuję Antek |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To popatrz na ścieżkę
![]() /T3FlexForms/data/sheet[index=mainconfig]/language[index=lDEF]/field[index=addresspool]/value[index=vDEF] Taka mniej więcej do Twojego 111 prowadzi. Pomyśl, pokombinuj i sprawdź jak dokładnie w XPath zapisać przechodzenie po węzłach z określonymi atrybutami. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat rekordów więc ręczne wyławianie odpada XML poniżej: A w czym tkwi problem? -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
A w czym tkwi problem? ![]() ![]() To popatrz na ścieżkę ![]() /T3FlexForms/data/sheet[index=mainconfig]/language[index=lDEF]/field[index=addresspool]/value[index=vDEF] Taka mniej więcej do Twojego 111 prowadzi. Pomyśl, pokombinuj i sprawdź jak dokładnie w XPath zapisać przechodzenie po węzłach z określonymi atrybutami. jak pisałem wyżej jestem zielony z xpatha, więc jak można to troche więcej pomocy bym poprosił. Takie coś skleciłem ale niestety nic dało. ![]() $xml = simplexml_load_string($row[pi_flexform]); $resxml = $xml->xpath("/T3FlexForms/data/sheet[index=mainconfig]/language[index=lDEF]/field[index=addresspool]/value[index=vDEF]"); print_r ($resxml); Antek |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Poczytaj o XPath wpierw zanim zaczniesz od razu robić kopiuj-wklej. To, że podałem Ci składnię która jest już bliska prawidłowego rozwiązania, nie znaczy, że dam Ci gotowca :] Dla Ciebie najistotniejsze teraz jest jak odwoływać się do węzła z atrybutem i jak wskazać ścieżkę od węzła głównego.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o XPath wpierw zanim zaczniesz od razu robić kopiuj-wklej. To, że podałem Ci składnię która jest już bliska prawidłowego rozwiązania, nie znaczy, że dam Ci gotowca :] Dla Ciebie najistotniejsze teraz jest jak odwoływać się do węzła z atrybutem i jak wskazać ścieżkę od węzła głównego. Dzieki za podpowiedź pomogła, problem rozwiązany $resxml = $xml->xpath("//field[@index='addresspool']/value[@index = 'vDEF']"); Pozdrawiam Antek |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 09:00 |