0

連絡先を検索するときにprint_r($ xml)(ソースの表示)を使用すると、次のコードを返すPHPライブラリでクラウドベースの連絡先管理システムAPIを使用しています。

SimpleXMLElement Object
(
[id12345] => SimpleXMLElement Object
    (
        [id] => 12345
        [name] => Bob Smith
        [parentid] => 51214064
        [parentcn] => EGCTeam
        [flagged] => SimpleXMLElement Object
            (
            )

        [created] => 2012-08-24T18:39:22+00:00
        [viewed] => 2012-08-28T10:39:49+00:00
        [updated] => 2012-08-28T10:41:05+00:00
    )

[count] => 1
[status] => success
)

通常、私はこのコードを使用して「名前」フィールドにアクセスします。

$contactName = $xml->id12345->name

しかし、最初のノードにはわからないIDが含まれているので、連絡先の値にアクセスするにはどうすればよいですか?私はこれを試しました:

$contactName = $xml->children()->name

しかし、それは機能しませんでした(空白になりました)。どんな助けでもいただければ幸いです。

4

1 に答える 1

0

SimpleXMLElement::getName 関数を使用してSimpleXML要素の名前を取得し、idの後に文字列を取得することで名前からidを解析できます。

たとえば($ responseがSimpleXML要素の場合):

foreach ($response->children() as $child)
{
    $name = $child->getName();
    $id = substr($name, 2);
    // Do stuff here with id or access node by $name //
}
于 2012-08-28T13:14:39.307 に答える