Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [xml] Pierwsze dziecko
Forum PHP.pl > Forum > XML, AJAX > XML
flashion
Witam po raz kolejny,

Mam zapytanie: Jak dodać pierwsze dziecko do węzła?
appendChild() działa jedynie wtedy, kiedy węzeł ma już jakieś dziecko.

Pozdrawiam
nevt
Cytat
appendChild() działa jedynie wtedy, kiedy węzeł ma już jakieś dziecko.

a kto ci takich głupot naopowiadał?

pokaż lepiej, kod który ci nie działa i opisz dokładniej jaki masz problem...
flashion
sam wydedukowalem ;]
gdy węzeł ma dzieci, appendChild() chodzi bez problemu, gdy nie ma, nie chodzi.
Nawet w manualu PHP pisze, że "Adds new child at the end of the children"

Kod
    
$adres = $xml->firstChild;
    
$element = $xml->createElement('obserwowany');
$adres->appendChild($element);


działa gdy:
Kod
<wezel>
<obserwowany/>
<wezel>


nie działa, gdy:
Kod
<wezel/>
smialy
Cytat(flashion @ 23.02.2008, 18:26:03 ) *
"Adds new child at the end of the children"

No i prawde piszą :] A czy jak nie ma dzieci to znaczy że nie ma końca snitch.gif Jeśli nie to znaczy, że nie ma też początka co znaczy że nie można w dodać ani na początek ani na koniec.
Na powaznie.
Dodanie na koniec to też dodanie pierwszego elementu winksmiley.jpg

Kod
$dom = new DOMDocument('1.0', 'utf-8');
$element1 = $dom->createElement('root', 'This is the root element');
$dom->appendChild($element1);
$element2 = $dom->createElement('test', 'This is the test element');
$element1->appendChild($element2);


Znak jakości U(u mnie działa) ma wiec nie rozumiem czemu Tobie nie działa :/ Zresztą to przykład z http://pl.php.net/manual/pl/function.dom-d...eateelement.php
nevt
to rozwiązuje twój problem...
  1. <?php
  2. $element = $xml->createElement('obserwowany');
  3. $xml->appendChild($element);
  4. ?>
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.