加载XML Feed的问题,数据未显示

时间:2014-03-20 14:08:56

标签: php xml xml-parsing

加载一些xml。 部分内容如下:

<element scope="message">
   <content_type>text/plain</content_type>
   <name>Test Data 1</name>
   <content_length>369</content_length>
   <data access="text">
      YLorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
   </data>
</element>

我回来的样子如下:

[element] => Array
(
   [0] => SimpleXMLElement Object
   (
          [@attributes] => Array
          (
                 [scope] => message
          )
          [content_type] => text/plain
          [name] => Test Data 1
          [content_length] => 369
          [data] => SimpleXMLElement Object
          (
                 [@attributes] => Array
                 (
                        [access] => text
                 )
          )
    )
)

如何获取内容?

提前致谢。

1 个答案:

答案 0 :(得分:0)

要访问SimpleXMLElement数据,您必须通过它的界面。直接访问只显示您可以看到的实例属性。

一个很好的起点是SimpleXML documentation,对你的问题特别感兴趣的是basic examples

应用于提供的XML,您需要这样的内容才能获得namescope属性:

<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<element scope="message">
   <content_type>text/plain</content_type>
   <name>Test Data 1</name>
   <content_length>369</content_length>
   <data access="text">
      YLorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
   </data>
</element>
XML;

$element = new SimpleXMLElement($xmlstr);

// get data
echo $element->data;

// get attribute value
echo echo $element['scope'];

此致