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. DjangoアプリをmySQLからPostgreSQLに簡単に変換するにはどうすればよいですか?

    2. WITH句とサブクエリの違いは?

    3. group_concatとsqliteで行番号を使用する方法

    4. Oracle用のEntityFramework互換プロバイダーの比較?