PHP - 附加和更新大型XML文件

时间:2013-11-06 15:29:06

标签: php xml xmlreader google-adwords xmlwriter

我正在研究有效比较两个相似的XML文件和更新过时信息的可能性。

我正在使用的主要XML文件大小约为200-250mb。第二个是小一点。

这两个XML文件看起来很像:

  <product>
   <Category>BOOK</Category>
   <Bookgroup>BOOKF</Bookgroup>
   <Productname>Name of the book</Productname>
   <Productcode>123456789</Productcode>
   <Price>79.00</Price>
   <Availability>Stock On Order</Availability>
   <ProductURL>www.url.com</ProductURL>
   <Release>07.08.2013</Release>
   <Author>Name of author</Author>
   <Genre>Crime</Genre>
   <BookType>Pocket</BookType>
   <Language>English</Language>
  </product>

正如您所看到的,我正在使用书籍,并且使用具有相同信息的第二个XML文件的目的是我只想要每本书的一个副本以供进一步使用。

基本上我正在试图弄清楚我如何有效地解析第一个XML并检查该书是否存在于第二个XML中。如果存在,我将检查产品信息(价格,可用性等)是否已更新。如果此信息已更新,则还需要在第二个XML中更新。 如果它不存在,则需要将其添加到第二个XML中。

使用XMLReader我能够通过使用类似的方法从第一个XML中快速解析每本书(40秒以上循环遍历4,500万行XML并回显所有书籍) approach as this

当我想检查第二个XML中是否存在此书时,如果需要更新或添加第二个XML,则会出现问题。

例如,是否可以在第二个XML上使用XMLReader并停在具有与我在第一个XML中停止的相同booktitle的节点上然后进行检查?如果是这样的话?

0 个答案:

没有答案