如何在PHP中使用SimpleXML获取[@attributes]元素的值

时间:2017-10-01 08:32:44

标签: php xml

我在访问此属性时遇到问题,$ xml是使用simpleXML的xml输出....这里是xml的一部分:

[component] => Array
 (
      [0] => SimpleXMLElement Object
          (
              [observationMedia] => SimpleXMLElement Object
                  (
                      [@attributes] => Array
                          (
                              [ID] => L30b39868-2c02-4f22-817f-3fc8ff059193
                          )
                     [text] => image description
                      [value] => SimpleXMLElement Object
                          (
                              [@attributes] => Array
                                  (
                                      [mediaType] => image/jpeg
                                  )
                             [reference] => SimpleXMLElement Object
                                  (
                                      [@attributes] => Array
                                          (
                                              [value] => Label2.jpg
                                          )
                                  )
                          )
                  )
          )          
  )                                

我可以使用以下方法访问[text]元素:

$xml->component->observationMedia->text 

但是无法访问属性值,我尝试了这个但是没有用:

$xml->component->observationMedia->value->reference->attributes()->value

如果我使用@attributes,那么它在php中会出错......

这是xml数据:

<component>
<observationMedia ID="L30b39868-2c02-4f22-817f-3fc8ff059193">
    <text>image description</text>
    <value mediaType="image/jpeg" xsi:type="ED">
        <reference value="Label2.jpg" />
    </value>
</observationMedia>
</component>

1 个答案:

答案 0 :(得分:0)

查看xml数据后,我解决了我的问题.. 以下是我获得属性值的方法:

echo (string) $component ->observationMedia ->value->reference['value']

查看xml值对我有帮助....