[英]Cannot retrieve data from XML using xpath() function in PHP
我想解析這個 xml文件並使用XPATH檢索一些字段(順便說一句, 這是我看到xml文件的方法,你可以從這里下載):
我嘗試以下代碼來獲得本書的版本:
$file_copac = "http://copac.ac.uk/search?isn=$isbn&rn=1&format=XML+-+MODS";
$xml = simplexml_load_file($file_copac) or die("cannot_get_data");
$temp = $xml->xpath('//edition');
var_dump($temp);
我也試過'版'但結果是空數組:
array(0) { }
我嘗試使用'/ mods / originInfo [1] / edition'完整路徑,以XPATH錯誤結束。 我用這種表示法解決問題:
$edition = (string)$xml->mods->originInfo[1]->edition;
不過我想知道xpath的問題。
看起來像默認(空)命名空間的問題,解決方法:
$namespaces = $xml->getDocNamespaces();
$xml->registerXPathNamespace('__DEFAULT_NS__', $namespaces['']);
$r = $xml->xpath('//__DEFAULT_NS__:edition');
var_dump((string)$r[0]); //string(8) "8th. ed."
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.