안녕하세요, 나는 그것에 약 12,000 레코드 xml 파일이 있습니다. 작성된 코드가 있고 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
xpath로 시도하고 결과를 비교할 수 있습니까? 나는 그것이 더 빠를 수 있다고 생각하지만, 전에 그것을 테스트 해본 적이 없다. – mrok
[XML Parser] (http://www.php.net/manual/en/book.xml.php)를 사용하십시오. 데이터를 청크로 가져오고 수동으로 (이벤트 기반으로) 구문 분석해야하지만 DOMDocument 또는 SimpleXML (내부 트리가 생성되지 않고 메모리에 고정되어 있지 않음)보다 훨씬 효율적입니다. –