2011-06-29 40 views
2

我需要在低內存系統上讀取XML文件(無權訪問以增加它)。 我已經試過:按元素加載XML元素,以PHP節省內存

$xmlString = file_get_contents($file); 
$doc= new DOMDocument(); 
$doc->loadXML($xmlString); 

$doc= new DOMDocument(); 
$doc->load($file); 

兩個給我的內存錯誤。

想知道是否有辦法逐個節點讀取XML,因此在任何給定時間只有1個節點在內存中。我不在乎這需要多長時間,因爲這是一個夜間批處理過程。

的XML的結構是非常簡單的:

 <InventoryItem> 
     <SKU>125244</SKU> 
     <Quantity>137196</Quantity> 
     <Status>Active</Status> 
     </InventoryItem> 

重複可能倍。

也許將其視爲文本?

由於大部分

回答

3

你需要一個拉解析器像XMLReader

+0

這樣做的伎倆,並執行它花了5分鐘使用這個例子:http://stackoverflow.com/questions/1835177/how-to-use-xmlreader-in-php Muchas Gracias! – Henry