問題:
SimpleXML 無法處理的大型XML 文件,我正在處理的大型XML 文件,我正在處理的大型XML 文件,我正在處理的大型XML 文件,我正在處理的大型XML 文件,我正在處理的大型XML 文件,我正在處理的大型XML探索XMLReader,但缺乏如何在資料庫中儲存元素內容的指導。您能提供對此過程的見解嗎?
答案:
該方法取決於您的工作單元的規模,特別是如果您正在處理單個 ;節點連續。以下是結合XMLReader 和SimpleXML 的策略:
$z = new XMLReader; $z->open('data.xml'); $doc = new DOMDocument; // Move to the first <product> node while ($z->read() && $z->name !== 'product'); // Iterate through <product> nodes until the end of the tree while ($z->name === 'product') { // Either read outer XML as a string and import it as SimpleXML or import the node as DOM $node = new SimpleXMLElement($z->readOuterXML()); // $node = simplexml_import_dom($doc->importNode($z->expand(), true)); // Now you can access node content var_dump($node->element_1); // Move to the next <product> node $z->next('product'); }
不同方法的優缺點:
建議:
從 SimpleXML 開始評估效能。如果速度至關重要,請考慮 DOM。但是,必須最小化程式碼庫以降低錯誤和效能問題的風險。以上是如何在 PHP 中有效使用 XMLReader 將大型 XML 檔案內容儲存在資料庫中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!