从XML对象中提取数据

时间:2011-02-07 02:47:41

标签: php simplexml amazon

如何从该xml对象中提取数据,该数据是某个数组的值:

Array ( [Title] => SimpleXMLElement Object ( 
[0] => The Key of Life; A Metaphysical Investigation ) 
[ASIN] => SimpleXMLElement Object ( [0] => 0982385099 ) ...

3 个答案:

答案 0 :(得分:0)

说$ X是对象,所以要打印

  

生命的钥匙;形而上学   调查

你这样做:

echo $X->Title[0]

答案 1 :(得分:0)

对象进行字符串类型转换。

$ variable =(string)$ FieldValue [0];

这样可行,因为SimpleXml的所有子对象都是对象类型而不是字符串。

答案 2 :(得分:0)

了解您不使用数组非常重要 - 您正在使用SimpleXMLElement对象,这是不一样的。

  1. 不是$array['key']['subkey'],而是$xml->tag->subtag
  2. SimpleXML节点不是字符串或数组,尽管它们表现像字符串和类似数组。确保始终将值类型化为显式字符串。
  3. 如果您正在访问第一个节点,则无需使用[0]。这是假设的。
  4. 您可以在PHP 5.2或更高版本中将SimpleXMLElement对象转换为真关联数组:

    $array = json_decode(json_encode($xml), true);