2

次のxmlを解析する必要がありますが、コードを使用すると最初のpタグを読み取るだけで、単純なループであることはわかっていますが、混乱しています。

 <s>
 <j u="here1"/>
   <p v="here1_1"/>
   <p v="here1_2"/>
   <p v="here1_3"/>
   <p v="here1_4"/>
   <p v="here1_5"/>
   <p v="here1_6"/>
</s>
<s>
 <j u="here2" />
   <p v="here2_1"/>
   <p v="here2_2"/>
   <p v="here2_3"/>
   <p v="here2_4"/>
   <p v="here2_5"/>
   <p v="here2_6"/>
</s>

マイコード

$xml = simplexml_load_string($myXml);
foreach ($xml->s as $tags) {
        echo $tags->j->attributes()->u . " ";
        echo $tags->p->attributes()->v . " ";
    }

結果は >>> here1 here1_1 here2 here2_1

ただし、結果は here1 here1_1 ..... here1_6 here2 here2_1 ..... here2_6 である必要があります

4

2 に答える 2

2

たぶん、このようなものですか?

$xml = simplexml_load_string($myXml);
foreach ($xml->s as $tags) foreach ($tags as $tag) {
    echo $tag->attributes()->u . " "; // $tag['u'] you can access attributes like this too
    echo $tag->attributes()->v . " "; // $tag['v']
}

これはあなたに与えるはずです

here1
here1_1 
here1_2 
here1_3 
here1_4 
here1_5 
here1_6 
here2 
here2_1 
here2_2 
here2_3 
here2_4 
here2_5 
here2_6 
于 2013-02-21T09:50:23.683 に答える
0

複数のpタグがあるため、pタグをループする必要があります

$xml = simplexml_load_string($myXml);
foreach ($xml->s as $tags) {
        echo $tags->j->attributes()->u . " ";
        foreach($tags->p as $ptags){
            echo $ptags->attributes()->v . " ";
        }
    }
于 2013-02-21T09:54:11.277 に答える