Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да свържете подобни тагове в XML файл

Това може да стане с xpath. Ето пример с Simplexml :

Първо можете да намерите всички първи листа:

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

и след това свързвате текста заедно с всички следните листа:

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

и след това премахвате всички следните листа:

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

Демо




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql:просто изберете нещо да се случи през уикенда

  2. Поддържа ли MS-SQL таблици в паметта?

  3. Как мога да получа пълен списък с всички заявки, изпълнявани в момента на моя MySQL сървър?

  4. експортирайте резултата от заявката като CSV през PHP

  5. Актуализирайте заявката с PDO и MySQL