我已經成功地以xml格式獲得了一個發佈的結果頁面,並將內容寫入本地文件「Publications.xml」。問題是當我使用simplexml_load_file(「Publications.xml」)時,它失敗。無法弄清楚爲什麼。PHP Simplexml_Load_File失敗
<?php
$feed = 'http://www.ncbi.nlm.nih.gov/pubmed?term=carl&sort=pubdate&report=xml';
$local = 'Publications.xml';
$curtime = time();
$filemodtime;
if((!file_exists($local)) || (time() - filemtime($local)) > 86400)
{
$contents = file_get_contents($feed);
$fp = fopen($local,"w");
fwrite($fp, $contents);
fclose($fp);
}
$xml = simplexml_load_file($local) or ("Can't");
?>
在最後但第二行解析器失敗,我收到消息「Can not」。 我有雙重檢查XML文件,它似乎是在一個很好的形狀。
如果任何人都可以讓我知道這一個的任何解決方法,我將非常感激。 下面是XML文件的副本,上面的PHP腳本試圖讀取(http://pastebin.com/U0fEKmZL):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<pre>
<PubmedArticle>
<MedlineCitation Status="Publisher" Owner="NLM">
<PMID Version="1">23314841</PMID>
<DateCreated>
<Year>2013</Year>
<Month>1</Month>
<Day>14</Day>
</DateCreated>
<Article PubModel="Print-Electronic">
<Journal>
<ISSN IssnType="Electronic">1432-0932</ISSN>
<JournalIssue CitedMedium="Internet">
<PubDate>
<Year>2013</Year>
<Month>Jan</Month>
<Day>12</Day>
</PubDate>
... (too long, see link)
的是什麼版本的PHP中呢? – wanovak
其5.4.7,謝謝! –
如果我複製XML數據,我總是在這裏得到一個錯誤:....(組1)。之後5 --->可能是「Â」的問題? ...也許它可能是有用的xml文件中使用cdata區域? – user1116033