![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 2 Dołączył: 3.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam, napisałem sobie funkcję która na podstawie tablicy:
Generuje mi plik xml:
Teraz mam pytanie w jaki sposób napisać drugą funkcję która będzie z takiego wzorca pliku XML generować mi tablicę taką jak widać wyżej. Oto moja funkcja która na podstawie tablicy generuje mi plik xml
Jednak już nie bardzo mam pomysł jak napisać to w drugą stronę. plik XML wczytuje za pomocą funkcji simplexml_load_file() a oto jak wygląda wczytany plik XML
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
A powiesz mi czemu takie dziwne rzeczy robisz?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 2 Dołączył: 3.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
A powiesz mi czemu takie dziwne rzeczy robisz? cóż jest to część aplikacji, tzn wiele rzeczy zamiast być generowanych z bazy danych jest przechowywana w pliku xml właśnie np szkielet menu czy inne tego typu struktury, cała aplikacja działa bardzo fajnie jednak edycja pliku xml wymusza wejście na serwer i jego ręczną edycję. Napisałem już cały komponent który na podstawie pól formularza generuje mi taką oto tablicę, a z niej jest generowany plik xml. Mam też już napisany skrypt który na podstawie tablicy generuje kod html aby móc dodawać, usuwać lub edytować pola formularza jednak problem sprawa mi konwertowanie pliku XML do postaci tablicy. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Piszesz sobie funkcję która rekurencyjnie przeleci po wszystkich node.
Wrzucasz cały xml, sprawdzasz 1-szy node. Jeśli ma dzieci to znowu odpalasz funkcję z xml tego node. Jak już nie ma dzieci to dodajesz do tablicy wartości i zwracasz tą wartość. taki koncept:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 2 Dołączył: 3.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Udało mi się uzyskać efekt taki jaki zamierzałem (prawie) oto kod:
oto co mi zwraca $array
problem polega na tym że każda kolejna Array ( [id] => 3 [parent_id] => 2 [name] => option [value] => ) przyjmuje to samo id czyli powtarza się 2x id 3, a chciałbym uzyskać taki oto efekt
Czy ktoś ma może jakiś pomysł jak to rozwiązać? Ten post edytował troian 19.09.2017, 12:26:02 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Możesz skorzystać z serializera Symfony: https://symfony.com/doc/current/components/serializer.html
Paczka dostępna w Composerze: https://packagist.org/packages/symfony/serializer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ustaw $id jako referencję (&$id)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:00 |