如何正確運(yùn)用PHP XMLReader解析XML文檔
我們?cè)谶\(yùn)用PHP語言進(jìn)行實(shí)際編程中,經(jīng)常會(huì)遇到需要對(duì)XML文檔進(jìn)行解析的需求。在PHP語言中提供了許多函數(shù)可以滿足這一需求的實(shí)現(xiàn)。。其中PHP XMLReader循序地瀏覽過xml檔案的節(jié)點(diǎn),可以想像成游標(biāo)走過整份文件的節(jié)點(diǎn),并抓取需要的內(nèi)容。#t#
PHP XMLReader的代碼示例如下:
- < ?PHP
- header("Content-type:text/html;
Charset=utf-8"); - $url = "http://www.google.com/
ig/api?weather=shenzhen"; - // 加載XML內(nèi)容
- $xml = new XMLReader();
- $xml->open($url);
- $condition = '';
- $temp_c = '';
- while ($xml->read()) {
- // echo $xml->name, "==>",
$xml->depth, "<br>"; - if (!empty($condition)
&& !empty($temp_c)) { - break;
- }
- if ($xml->name == 'condition'
&& empty($condition)) { - // 取***個(gè)condition
- $condition = $xml->getAttribute('data');
- }
- if ($xml->name == 'temp_c' &&
empty($temp_c)) { - // 取***個(gè)temp_c
- $temp_c = $xml->getAttribute('data');
- }
- $xml->read();
- }
- $xml->close();
- echo '天氣:', $condition, '< br />';
- echo '溫度:', $temp_c, '< br />';
我們只是需要運(yùn)用PHP XMLReader取***個(gè)condition和***個(gè)temp_c,于是遍歷所有的節(jié)點(diǎn),將遇到的***個(gè)condition和***個(gè)temp_c寫入變量,***輸出。