abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:11 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Bezpečnostní upozornění

    V Drupalu byla nalezena a opravena kritická zranitelnost SA-CORE-2026-004 (CVE-2026-9082). Útočník může provádět libovolné SQL dotazy na webech používajících databázi PostgreSQL.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

    Ladislav Hagara | Komentářů: 3
    včera 13:33 | IT novinky

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

    Ladislav Hagara | Komentářů: 2
    včera 04:22 | Nová verze

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    19.5. 21:00 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    19.5. 19:00 | Nová verze

    Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:22 | Nová verze

    Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:00 | Nová verze

    Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1674 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: PHP XML vlozenie elementu za lastChild

    20.9.2015 19:23 maros
    PHP XML vlozenie elementu za lastChild
    Přečteno: 268×
    Mám existujúci XML súbpr, kde potrebujem cez PHP pridať doplniť [data] za posledný child, čo je v tomto prípade tretí element. Návody, čo som našiel pridávali element na koniec celého XML.

    [root]
      [level1]
        ...
        [level2]
          ...
          [level3]
           ...
          
            [data]
              [name/]
              [address/]
            [/data]
            
            [data]
              [name/]
              [address/]
            [/data]
            
            [data]
              [name/]
              [address/]
            [/data]
            
          [/level3]
           ...
        [/level2]
          ...
      [/level1]
        ...        
    [/root]
    

    Odpovědi

    xxxxxx avatar 20.9.2015 20:53 xxxxxx | skóre: 23
    Rozbalit Rozbalit vše Re: PHP XML vlozenie elementu za lastChild
    Tak třeba s DOMDocument by to mělo jít úplně v pohodě, najdete si element level3, vytvoříte si nový element a append k tomu level3 (appendChild). Mrkněte dolů do poznámek k téhle třídě, je tam pěkná ukázka.
    21.9.2015 20:09 maros
    Rozbalit Rozbalit vše Re: PHP XML vlozenie elementu za lastChild
    Ako si nájdem level3?

    Na internete je plno manuálov, ktoré sú presne ako tento kód nižšie:
    $xml = simplexml_load_file($XML_FILE);  
    
    if ($xml != FALSE) {  
     $level3_node = $xml->level3;  
     $data_node   = $level3_node->addChild("data", "");  
     $data_node->addChild("name");  
    
     $xml->asXML($XML_FILE);
    }
    
    Mne to skončí varovaním a chybou:
    Warning: SimpleXMLElement::addChild(): Cannot add child. Parent is not a permanent member of the XML tree in xml.php on line 5
    Fatal error: Call to a member function addChild() on a non-object in xml.php on line 6
    
    21.9.2015 20:55 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: PHP XML vlozenie elementu za lastChild
    Máš nějakou představu, co asi dělá následující řádek?
    $level3_node = $xml->level3;
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    21.9.2015 22:11 maros
    Rozbalit Rozbalit vše Re: PHP XML vlozenie elementu za lastChild
    Problém bol v tom, že v dokumente, ktorý je omnoho zložitejší ako príklad v prvom príspevku, je tag level3 viackrát, s čím som vôbec nepočítal.
    Potom $level3_node = $xml->level3 vracia prázdny objekt.
    Vyzerá to tak, že musí použiť XPath, alebo máte iný názor?
    21.9.2015 23:01 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: PHP XML vlozenie elementu za lastChild
    Nevrací objekt, ale kolekci. Obvykle stačí použít index do té kolekce.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.