Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara menggabungkan tag serupa dalam file XML

Ini dapat dilakukan dengan xpath. Berikut adalah contoh dengan Simplexml :

Anda dapat menemukan semua lembar pertama:

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

dan kemudian Anda menggabungkan teks dengan semua daun berikut:

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

dan kemudian Anda menghapus semua daun berikut:

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

Demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghapus Baris Duplikat dari Tabel MySql

  2. Kunci Utama Multi-Kolom di MySQL 5

  3. Memilih Baris Acak di MySQL

  4. Hashing atau enkripsi variabel untuk dikirim dalam url

  5. Migrasi MySQL ke PostgreSQL - fitur apa yang tidak terlihat dalam kode SQL yang penting?