Php 从XML对象提取数据

Php 从XML对象提取数据,php,simplexml,amazon,Php,Simplexml,Amazon,如何从作为特定数组值的xml对象中提取数据: Array ( [Title] => SimpleXMLElement Object ( [0] => The Key of Life; A Metaphysical Investigation ) [ASIN] => SimpleXMLElement Object ( [0] => 0982385099 ) ... 假设$X是对象,所以要打印 生命的钥匙;形而上学的 调查 你可以: echo $X->Title[

如何从作为特定数组值的xml对象中提取数据:

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

假设$X是对象,所以要打印

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

你可以:

echo $X->Title[0]

对对象执行字符串类型转换

$variable=字符串$FieldValue[0]


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

重要的是要理解,您使用的不是数组,而是不同的SimpleXMLElement对象

您不需要执行$array['key']['subkey'],而是执行$xml->tag->subtag

SimpleXML节点不是字符串或数组,尽管它们的行为类似于字符串和数组。确保始终将值类型转换为显式字符串

如果要访问第一个节点,则不需要使用[0]。这是假定的

在PHP 5.2或更高版本中,您可以使用以下功能将SimpleXMLElement对象转换为真正的关联数组:

$array=json_decodejson_encode$xml,true


我对每个数组都做了如下操作:foreach$ArrayName as$FieldLabel=>$FieldValue{$Variable=$FieldValue[0]..},但它仍然将整个xml对象作为FieldValue。。我希望它只提取值,而不是整个对象..可能重复的