0

ご覧いただきありがとうございます ... API を使用したことがなく、立ち往生しています。API から返された XML を次に示します (公開すべきではないと思うため、値を変更しました)。

 <?xml version="1.0" encoding="utf-8"?>
 <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
    <result code="1000">
        <msg>Command completed successfully</msg>
    </result>
    <resData>
        <ext-support:lstData xmlns:ext-support="http://www.apitest.co.uk/whapi/ext-support-2.0">
            <ext-support:categoryGroup name="Main Category Name">
                <ext-support:category id="1">Support item 1</ext-support:category>
                <ext-support:category id="2">Support item 2</ext-support:category>
            </ext-support:categoryGroup>
            <ext-support:categoryGroup name="Another Category Name">
                <ext-support:category id="5">Another Support item 1</ext-support:category>
                <ext-support:category id="6">Another Support item 2</ext-support:category>
            </ext-support:categoryGroup>
        </ext-support:lstData>
    </resData>
</response>
</epp>

私は使っている;

 $xml = new SimpleXMLElement($returned_xml);

しかし、オブジェクト内のデータを取得する方法がわかりません。

私は基本的にこれをループしたいので、最終的には

 Main category name
   Support item 1 (id:1)
   Support item 2 (id:2)

 Another category name
   Another support item 1 (id:5)
   Another support item 2 (id:6)

どんな助けでも大歓迎です

ありがとうございました

ジェイソン

4

1 に答える 1

0

これでなんとかソートできました(数時間の試行錯誤の後!)...

    foreach ($xml->response->resData->children('ext-support', true)->lstData->categoryGroup as $group)
    {
         echo $group->attributes();
         echo '<br/>';
         foreach ($group->category as $cat)
         {
             echo $cat;
             echo $cat->attributes();
             echo '<br/>';
         }
     }

とにかくありがとう!

于 2013-05-10T18:37:43.697 に答える