![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 1.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
wiecie, jak w simplexml (php) mieć dostęp do node: glowny.dziecko.jakistam, gdzie xml jest :
<item id="glowny"> <item id="dziecko"> <item id="jakistam"> </item> </item> </item> ? używam simplexml jak napisać odwołanie xpath: coś na wzór: getPathByAttribute(["id"], "glowny.dziecko.jakistam") normalnie to notacją kropkową tworzy się ścieżkę bazującą na nazwach węzłów, a nie na atrybucie. Ten post edytował borovsky 25.06.2010, 09:31:08 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat mi jednak zależy na dostępie poprzez złożenie ścieżki. To się w końcu zdecyduj - przez własną konwencję nazewnictwa, czy przez XPath? Bo o ile pamiętam, to XPath miał nieco inną składnię niż ta, którą podajesz. Wg tej Twojej, trzeba by było najpierw napisać odpowiedni parser, który pozamienia znaki, dopiero potem poszuka po xpath. Cytat nawet mogę sobie napisać funkcję bez użycia xpath, jednak szukam uniwersalnych rekomendowanych rozwiązań. Wytłumacz mi jedno: po co sobie utrudniasz życie? Przecież parsując to coś i tak musisz wygenerować XPath, niezależnie od Twojej składni Cytat /item[@id='obrazy']/item[@id='wnetrza']/item[@id='swiatla'] Ile razy trzeba Ci jeszcze tłumaczyć, że ID musi być unikalne? Jak nie będzie, to nie mamy nawet o czym dyskutować, gdyż tak ma być i niektóre parsery będą wariować jak znajdą kilka takich samych identyfikatorów? Cytat 1.czy node ma atrybut id o takiej wartości 2.jeśli nie, to czy ma nazwa o takiej wartości Jak pisałem, raczej czeka Cię pisanie własnego parsera. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 16:48 |