PHP / XML提要阅读器从哪里开始?

时间:2016-04-14 00:45:59

标签: php xml feed

我对XML Feed有疑问。

有一个网站whitch提供数据,他们给我2个链接2个文件

  • 文件1:Cars_docu.atom
  • 文件2:Cars.atom

文件1上的日期是这样的

 <entry>
<author>
  <name />
</author>
<f:name>Name</f:name>
<f:description>Product name</f:description>

,第二个文件就像这样

 <entry>
<title>Volvo</title>
<link rel="alternate" href="#1" />
<author>
  <name />
</author>
<id>237370</id>
<updated>2015-08-17T11:44:32Z</updated>
<f:name>Volvo Lamp</f:name>

据我所知,第一个文件包含filds的名称,第二个文件包含数据

我的问题是使用PHP文件从两个文件中提取这些信息并将它们收集到一个页面的方法是什么?

在第二份文件里面有一个10000产品,所以我怎么只拉一个太平洋产品?

如果你有代码,我会很高兴,或者只是告诉我从哪里开始

regads

1 个答案:

答案 0 :(得分:0)

看一下SimpleXML类: http://php.net/manual/en/class.simplexmlelement.php

采用的方法是使用file_get_contents从XML页面中提取数据,然后使用SimpleXML将其解析为数组。

例如:

<?php

$url = "somewebsite.com/Cars.atom";

$file = file_get_contents($url);

$carsArray = new SimpleXMLElement($file);

foreach ($carsArray->entry as $car) {

   echo $car->title; // Would display "Volvo"

}

?>

当我第一次调查已解析为数组的XML文档的结构时,我发现使用print_r()函数很有用。

从上面开始,下一个简单的步骤是加载两个XML文档,然后逐步构建您想要显示的数据。

修改如果您想匹配特定商品 假设您想要将汽车标题与沃尔沃相匹配,那就是您可以做到的。

<?php

$url = "somewebsite.com/Cars.atom";

$file = file_get_contents($url);

$carsArray = new SimpleXMLElement($file);

// Need to use an array key to get the element, alternatively can loop through each value
if($carsArray->entry[0]->title == "Volvo") {
    echo "Car is a Volvo!";
}

?>