1

次のXMLファイル(以下)があり、ルートノードの名前をフックしたいと思います。

私は次のことを試しました:

$config = simplexml_load_string($xml_data);
echo $config->getName();

どのエコーは何もありません。結果についても繰り返しましたが、ルートノードの子から始まります

foreach($config as $key => $value)
{
    echo $key;
}
// echo's ReturnStatus, SearchURL and PropertyResults

ルートノードの名前「SearchResponse」が必要です。SimpleXMLElementクラスのドキュメントには、 http: //www.php.net/manual/en/class.simplexmlelement.phpに役立つものが見つからないようです。

<?xml version="1.0" encoding="ISO-8859-1" ?>
<SearchResponse>
  <ReturnStatus>
    <Success>
        <data>true</data>
        <data2>true</data2>
    </Success>
    <Success>
        <data>false</data>
        <data2>true</data2>
    </Success>
    <Exception />
  </ReturnStatus>
  <SearchURL />
  <PropertyResults>
    <PropertyResult>
      <PropertyID>1468830</PropertyID>
      <PropertyName>Sands Acapulco</PropertyName>
    </PropertyResult>
    <PropertyResult>
      <PropertyID>1353302</PropertyID>
      <PropertyName>Acapulco Turquesa</PropertyName>
    </PropertyResult>
    <PropertyResult>
      <PropertyID>4521565</PropertyID>
      <PropertyName>Almaria Delsonto</PropertyName>
    </PropertyResult>   
  </PropertyResults>
</SearchResponse>
4

1 に答える 1

2

これは機能します:

$config = simplexml_load_string($xml);
echo $config->getName();

提供したXMLでテスト済み、出力:

SearchResponse

あなたはそれが機能しないと書いているので、おそらく問題はAPIではありません。

于 2012-04-17T16:49:04.217 に答える