sql >> Database teknologi >  >> RDS >> Mysql

Sådan sammenkædes lignende tags i en XML-fil

Dette kan gøres med xpath. Her er et eksempel med Simplexml :

Du kan først finde alle de første blade:

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

og så samler du teksten sammen med alle følgende blade:

$followingWithSameName ='følgende-søskende::*[navn(.) =navn(forudgående-søskende::*[sidste()])]'; // ændre teksten på det første blad $firstLeaf[0] =implode(', ', $firstLeaf->xpath(".|$followingWithSameName"));

og så fjerner du alle følgende blade:

 // fjern alle følgende blade med samme navn foreach ($firstLeaf->xpath($followingWithSameName) som $leaf) { unset($leaf[0]); } 

Demo




  1. Mysqli udarbejdet erklæring (SQL-injektionsforebyggelse)

  2. MySQL-triggere og SUM()

  3. Brug af pseudokolonner med en sammenkædet server

  4. Er det virkelig det værd at normalisere Toxi-måden? (3NF)