Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zmiana nazwy gałęzi XML, DOM
Seraph
post 23.04.2007, 12:08:16
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 16.08.2006
Skąd: Bochnia

Ostrzeżenie: (0%)
-----


Witam,
próbuję zmienić za pomocą DOM nazwy gałęzi xml, poniżej kod.
  1. <?php
  2. $id = 0;
  3. foreach($dane as $pod)
  4. {
  5. $male = $xml->getElementsByTagName($pod)->item(0);
  6. $newChild = $xml->createElement($nowe_nazwy[$id]);
  7. $duze->replaceChild($newChild,$male);
  8. $textNode = $xml->createTextNode('newNode');
  9. $newChild->appendChild($textNode);
  10.  
  11. $id++;
  12. }
  13. }
  14. ?>



Jak widać próbowałem to zrobić za pomocą replaceChild, problem w tym, że wtedy nadpisuje mi całą zawartość gałęzi. Jak inaczej mogę rozwiązać problem?

Ten post edytował Seraph 23.04.2007, 12:09:15


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
yaotzin
post 2.05.2007, 23:59:52
Post #2





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 12.02.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $male = $xml->getElementsByTagName($pod)->item(0);
  3. $newChild = $xml->createElement($nowe_nazwy[$id]);
  4. $duze->replaceChild($newChild,$male);
  5. $textNode = $xml->createTextNode('newNode');
  6. $newChild->appendChild($textNode);
  7. ?>


nic dizwnego w powyższym kodzie szukasz elementu nadrzędnego
następnie tworzysz nowy
nakazujesz zamianę starego z nowym
tworzysz wpis do nowego elementu
i dodajesz go do drzewa
więc usuwasz jednocześnie tworząc nowy element z nową zawartością. Zrób tak żeby w tym momencie $xml->createTextNode('newNode'); dodawał ci starą zawartość pomiędzy nowe tagi.

i sprawdź jeszcze tą funkcję, lecz nie pamiętam dokładnie czy ona działa tak jak ci jest to porzebne DomNode->set_name() jest 1 w nocy i nie chce mi się sprawdzać.

Ten post edytował yaotzin 3.05.2007, 00:04:07


--------------------
------
Per Aspera Ad Astra
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 22:30