使用PHP在网站上显示来自外部XML提要的数据


Display data from external XML feed on website using PHP

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

<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>

您可以使用php内置的函数simplexml_load_stringfile_get_contents

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

file_get_contents

资源

资源的作用

$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.' ';
}

这将返回扳手锤子螺丝刀