2

可能重复:
如何使用 SimpleXML 获取属性?

如何获取高度、长度、重量和宽度的值?因为它有属性?在其他值中,我在检索它时没有问题,只是这个值具有属性。

注意:高度,长度,重量和宽度部分只是问题

这是我如何检索它:

$from_amazon = array(
   'asin'     => $item->ASIN,
   'product_name'
              => $item->ItemAttributes->Title, 
   'image'    => $item->SmallImage->URL,
   'price'    => $item->ItemAttributes->ListPrice->FormattedPrice, 
   'product_description'
              => $item->EditorialReviews->EditorialReview->Content,
   'category' => $item->ItemAttributes->ProductGroup,
   'weight'   => $item->ItemAttributes->PackageDimensions->Weight
);

XML DOM

4

2 回答 2

1

看起来您正在使用 SimpleXML 来解析数据。您可以在此处查看如何获取属性。

在你的情况下,它看起来像

$item->ItemAttributes->PackageDimensions->Weight->attributes()->Units
于 2012-09-26T10:56:06.800 回答
1

simplexml 库将为您返回该节点的对象。但你只想要它的文本。因此,您需要将其转换为字符串:

'weight'   => (string) $item->ItemAttributes->PackageDimensions->Weight
              ^^^^^^^^

这将为您提供作为该 XML 节点字符串的文本。


Simplexml 文档文档中,您可以在Example #6 Comparing Elements and Attributes with Text中找到:

要将元素或属性与字符串进行比较或将其传递给需要字符串的函数,您必须使用 (string) 将其转换为字符串。否则,PHP 将元素视为对象。

(string) $movies->movie->title
于 2012-09-26T11:19:38.183 回答