加载xml文件
问题描述:
我有超过1000个记录的XML文件,并将该XML是意象结构:加载xml文件
<?xml version="1.0" encoding="UTF-8"?>
<deals>
<deal>
<deal_id>1</deal_id>
<deal_title> <![CDATA[THE TITLE]]> </deal_title>
<deal_description> <![CDATA[THE DESCRIPTION]]> </deal_description>
<deal_url> <![CDATA[http://www.thedomain.com]]> </deal_url>
<deal_price>12.00</deal_price>
<deal_previous_price>68.00</deal_previous_price>
<deal_discount>82</deal_discount>
<deal_image> <![CDATA[http://www.thedomain.com/images/image.jpg]]> </deal_image>
<deal_shop>DEAL SITE NAME</deal_shop>
</deal>
</deals>
现在怎么可能使用限制,以显示10个记录加载.xml文件?
当用户按下“负载更多”按钮
谢谢。我会用这个教程http://www.9lessons.info/2009/12/twitter-style-load-more-results-with.html
做显示效果更加的记录
答
您可以使用SimpleXML的类来实现这一目标。
可以加载你的XML代码:
$data = new SimpleXMLElement($your_xml_code);
$single_deal = $data->deals[0]->deal[/*numeric index of your deal*/];
Here是文档和示例。
答
您可能需要一个小小的PHP脚本来在x行后切断XML,就像您提供的示例中有ajax_more.php一样。
我不太了解PHP中的XML,我总是把它解析成关联数组;也许这将是这里的方式呢? 解析成数组,切断不重要的行,然后再编码成XML?
噢,这也是一个好主意,你可以使用GET类似于?deals = 50&limit = 10,然后使用for循环来获得所有的交易,然后用SimpleXMLElement :: asXml()将它们解析回XML。 – lauriys 2013-02-23 11:59:54
Yap :)现在,我们两个人只会等待将整个解决方案集成到可用代码中的其他人;)干杯 – 2013-02-23 12:04:40
我应该这样做吗? :P – lauriys 2013-02-23 12:07:10