sql >> Databáze >  >> RDS >> Mysql

Jak zřetězit podobné značky v souboru XML

To lze provést pomocí xpath. Zde je příklad s Simplexml :

Nejprve můžete najít všechny první listy:

foreach ($xml->xpath('//*[not(*) and not(preceding-sibling::*)]') as $firstLeaf) {
    ...
}

a pak spojíte text dohromady se všemi následujícími listy:

    $followingWithSameName = 'following-sibling::*[name(.) = name(preceding-sibling::*[last()])]';
    // change the text of the first leaf
    $firstLeaf[0] = implode(', ', $firstLeaf->xpath(".|$followingWithSameName"));

a poté odstraníte všechny následující listy:

    // remove all following leafs with the same name
    foreach ($firstLeaf->xpath($followingWithSameName) as $leaf) {
        unset($leaf[0]);
    }

Ukázka




  1. Obnovení databáze ve WAMP

  2. PHP - Nesprávná data POST odesílaná prostřednictvím formuláře při echo?

  3. Integrace PostgreSQL s autentizačními systémy

  4. Jak nastavit časové pásmo xampp mysql a Apache?