使用PHP在网站上显示外部XML Feed的数据

时间:2013-04-02 18:58:31

标签: php xml wordpress xml-parsing

我需要在我的网站上显示来自外部XML Feed的数据,但我完全不知道从哪里开始。什么是完整的PHP代码来获取XML提要并将以下元素打印到我的页面中:

<name></name>
<status></status>
<pin></pin>
<picture>
</picture>
<description></description>
<category name="skills">
  <skill></skill>
</category>
<category name="tools">
  <tool></tool>
  <tool></tool>
  <tool></tool>
</category>
<category name="subjects">
  <subject></subject>
</category>

1 个答案:

答案 0 :(得分:1)

您可以使用名为simplexml_load_string的PHP内置函数以及file_get_contents

这两个函数的作用是将url xml feed转换为字符串,然后创建存储在$xml中的对象。

资源file_get_contents

资源simplexml_load_string

$url = 'yourXMLfeed.xml';
$xml = file_get_contents($url);
$xml = simplexml_load_string($xml);

然后,您可以在<name></name>等内部访问您的数据,如下所示:

echo $xml->name会在name标记内打印数据。

如果您有嵌套的xml Feed,也可以使用foreach,如下所示:

foreach($xml as $x):
 echo $x->name
endforeach;

修改

让我们说每个<tool></tool>都有数据,即:

<tool>Wrench</tool> <tool>Hammer</tool> <tool>Screwdriver</tool>

您可以执行快速foreach循环来获取如下数据:

foreach($xml->category[1] as $tool) {
    echo $tool.' ';
}

这将反映出扳手锤子螺丝刀