Autor Zpráva
lolkohrad
Profil *
ahoj potreboval bych v xml souboru zapsat novy element asice <group></group>, ale nejak se mi to nedari. chtel bych, aby se mi to zapsalo pred polozky <items> tedy za element <datas>.pri spusteni php skriptu to nic nevypise a chyba je patrne ve funkci insertbefore...ale fakt nevim jak to upravit k vysledku mnou zadoucimu, najde se nekdo?
vzor xml:
<?xml version="1.0"?>
<datas>
  <items>
    <item>
      <name>loleklel</name>
    </item>

kod php:
  $jmeno = $_POST['jmeno']; 
  $predejHo = $_POST['uzivetelcak'];
  $file = "xml/$predejHo.xml";
  $file = realpath($file);
    $fp = fopen($file, "rb") or die("cannot open file");
    $str = fread($fp, filesize($file));
    $xml = new DOMDocument();
    $xml->formatOutput = true;
    $xml->preserveWhiteSpace = false;
    $xml->load('xml/' . $predejHo . '.xml') or die("Error");  
  
    // get document element
    $root   = $xml->documentElement;
    $fnode  = $root->firstChild;

    //add a node
    //$ori    = $fnode->parentNode;
       $mrdnout = $root->getElementsByTagName("datas");

    $namegroup     = $xml->createElement("skupina");
    $namegroupText = $xml->createTextNode("$jmeno");
    $namegroup->appendChild($namegroupText);
 
    $book   = $xml->createElement("group"); 
    $book->appendChild($namegroup);

    $fnode->insertBefore($book,$mrdnout);
  $xml->saveXML();
  $xml->save($file);
  echo 'skupina je zapsana';

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: