SimpleXMLElement并获取属性值?

时间:2013-02-09 00:50:42

标签: php xml simplexml

我无法从XML获取所有数据。任何人都可以解决一些问题。

我的XML如下

<storeitems>
<PRODUCT ITEM="3002074730">
<SPECIALS_ID>14713</SPECIALS_ID>
<FULL_PRICE>27.00</FULL_PRICE>
<SPECIALS_NEW_PRODUCTS_PRICE>25.65</SPECIALS_NEW_PRODUCTS_PRICE>
</PRODUCT>
<PRODUCT ITEM="SE-0088-10-3">
<SPECIALS_ID>29555</SPECIALS_ID>
<FULL_PRICE>53.99</FULL_PRICE>
<SPECIALS_NEW_PRODUCTS_PRICE>51.29</SPECIALS_NEW_PRODUCTS_PRICE>
</PRODUCT>
<storeitems>

我的代码如下

$xml = new SimpleXMLElement($data);

foreach($xml->PRODUCT as $post) {

    echo $post->SPECIALS_ID .'<BR>';
    echo $post->FULL_PRICE . '<BR>';
    echo $post->SPECIALS_NEW_PRODUCTS_PRICE . '<BR>';
}

这是我所期望的,但是你可以帮助我让这部分XML回应吗

<PRODUCT ITEM="3002074730">

1 个答案:

答案 0 :(得分:0)

echo $post->attributes();

将打印item(第一个)属性的值(它是在字符串上下文中调用时执行该操作的对象)。

如果您添加了更多属性,并希望全部获取这些属性,则可以迭代$post->attributes()

foreach($post->attributes() as $name => $value){
  ...
}