嗨,我有一個xml文件,其中約12,000條記錄。我編寫的代碼,它工作正常,只需要一段時間來解析XML文件並返回內容。有什麼辦法可以加快這個過程嗎?加快xml解析與PHP
我的代碼:
<?php
$dom = new DOMDocument();
$dom->load('comics.xml');
foreach ($dom->getElementsByTagName('record') as $entry)
{
$title = $entry->getElementsByTagName('title')->item(0)->textContent;
echo $title;
}
?>
XML文件(在那裏只要1演示着聯繫他們所有的笑):
<?xml version='1.0' encoding='utf-8'?>
<calibredb>
<record>
<id>1</id>
<uuid>991639a0-7cf6-4a34-a863-4aab8ac2921d</uuid>
<publisher>Marvel Comics</publisher>
<size>6109716</size>
<title sort="Iron Man v1 101">Iron Man v1 101</title>
<authors sort="Unknown">
<author>Unknown</author>
</authors>
<timestamp>2012-04-15T18:49:22-07:00</timestamp>
<pubdate>2012-04-15T18:49:22-07:00</pubdate>
<cover>M:/Comics/Unknown/Iron Man v1 101 (1)/cover.jpg</cover>
<formats>
<format>M:/Comics/Unknown/Iron Man v1 101 (1)/Iron Man v1 101 - Unknown.zip</format>
</formats>
</record>
</calibredb>
第1步,找出什麼是實際上很慢。關鍵字:剖析。 – salathe 2012-07-30 22:56:31
你可以嘗試xpath並比較結果嗎?我認爲這可能會更快,但我從未測試過。 – mrok 2012-07-30 22:56:39
使用[XML Parser](http://www.php.net/manual/en/book.xml.php)。它將數據分成塊,並且需要手動解析(基於事件),但它比DOMDocument或SimpleXML更有效(沒有內部樹被構建並卡入內存) – 2012-07-30 22:59:47