Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wygenerowanie ścieżki do elementu
Forum PHP.pl > Forum > XML, AJAX > XML
WiruSSS
Witam

Posiadam jakiś tam pliczek xml w którym mam wylistowane kategorie ..wygląda on mniej więcej tak:

  1. <groups>
  2. <group>
  3. <id>1</id>
  4. <parentid>0</parentid>
  5. <name>nazwa kategorii</name>
  6. </group>
  7. <group>
  8. <id>2</id>
  9. <parentid>0</parentid>
  10. <name>nazwa kategorii</name>
  11. </group>
  12. <group>
  13. <id>3</id>
  14. <parentid>0</parentid>
  15. <name>nazwa kategorii</name>
  16. </group>
  17. <group>
  18. <id>4</id>
  19. <parentid>1</parentid>
  20. <name>nazwa kategorii</name>
  21. </group>
  22. <group>
  23. <id>5</id>
  24. <parentid>1</parentid>
  25. <name>nazwa kategorii</name>
  26. </group>
  27. <group>
  28. <id>6</id>
  29. <parentid>2</parentid>
  30. <name>nazwa kategorii</name>
  31. </group>
  32. <group>
  33. <id>7</id>
  34. <parentid>2</parentid>
  35. <name>nazwa kategorii</name>
  36. </group>
  37. <group>
  38. <id>8</id>
  39. <parentid>2</parentid>
  40. <name>nazwa kategorii</name>
  41. </group>
  42. <group>
  43. <id>9</id>
  44. <parentid>3</parentid>
  45. <name>nazwa kategorii</name>
  46. </group>
  47. <group>
  48. <id>10</id>
  49. <parentid>4</parentid>
  50. <name>nazwa kategorii</name>
  51. </group>
  52. <group>
  53. <id>11</id>
  54. <parentid>4</parentid>
  55. <name>nazwa kategorii</name>
  56. </group>
  57. </groups>


pliczek ten przetwarzam za pomocą SimpleXML.
no i teraz potrzebuję wygenerować do każdej kategorii ścieżkę dostępu ..czyli np:

ścieżka do elemenu o id=1 wyglądała by po prostu tak: /1
ścieżka do elementu o id=4 => /1/4
ścieżka do elementu o id=11 => /1/4/11

...jak to zrobić najprościej?
skowron-line
  1. $xml->xpath('//group[id=11]');

Jeżeli chodziło Ci o dostęp do gałęzi w której element ma wartość 11.
WiruSSS
..nie no o takie rzezy to są dla mnie oczywiste ....ja potrzebuję wygenerowac dostęp w dokładnie taki sposób jaki podałem.

chcę otrzymać dokłądnie taki zapis ścieżki do kategori o id 11
czyli:

/1/4/11

..teraz tak się zastanowiłem nad tym zapisem:

Cytat(skowron-line @ 8.02.2010, 21:01:27 ) *
  1. $xml->xpath('//group[id=11]');

Jeżeli chodziło Ci o dostęp do gałęzi w której element ma wartość 11.


...a takie coś nie odnosiło by się czasem do zapisu

<grupa id="11"></grupa>

questionmark.gif

...dobra napiszę inaczej

  1. <groups>
  2. <grupa>
  3. <id>11</id>
  4. <parentid>5</parentid>
  5. <nazwa>nazwa kategorii</nazwa>
  6. </grupa>
  7. </groups>


jak się odwołac do tej grupy znając tylko jej parentid aby zwróciło mi jej id:

  1. $id=xpath('/groups/grupa[parentid=5]/id') //?questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?


to powyższe podejrzewam że działałoby jakbi id było dzieckiem perentid ..ale to jest równorzędne ..da się wogóle tak odwołać żebym uzyskał numer id danej grupy?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.