以前做過聯(lián)通或電信的service訂購接口,收到的內(nèi)容就是XML的,需要用到PHP的XML處理功能,你的代碼可以這樣:

創(chuàng)新互聯(lián)公司為您提適合企業(yè)的網(wǎng)站設(shè)計(jì)?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強(qiáng)的網(wǎng)絡(luò)競(jìng)爭(zhēng)力!結(jié)合企業(yè)自身,進(jìn)行網(wǎng)站設(shè)計(jì)及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè), 我們的網(wǎng)頁設(shè)計(jì)師為您提供的解決方案。
xmp
?php
$string=file_get_contents("");
if($string!=""):
$xml = new DomDocument('1.0');
$xml-loadXML($string);
//班臺(tái)
$BanTai=array(
'Title'=$xml-getElementsByTagName('channel')-item(0)-childNodes-item(1)-nodeValue,
'Link' =$xml-getElementsByTagName('channel')-item(0)-childNodes-item(3)-nodeValue
);
for($i=0;$i3;$i++)
{
$Title[]=array(
'Title'=$xml-getElementsByTagName('item')-item($i)-childNodes-item(1)-nodeValue,
'Link' =$xml-getElementsByTagName('item')-item($i)-childNodes-item(3)-nodeValue
);
}
print_r($BanTai);
print_r($Title);
endif;
?
/xmp
回答補(bǔ)充:
現(xiàn)在你直接copy,然后執(zhí)行沒效果嗎?
我這里是可以的呢,測(cè)試網(wǎng)址是:service.020i.net/test_xml.php
1、首先我們做一個(gè)簡(jiǎn)單的xml文件
?xml version="1.0 encoding="UTF-8"?humanszhangyingname張映/namesex男/sexold28/old/zhangyingtanknametank/namesex男/sexold28/old/tank/humans
2、
php讀取xml的幾種方法:
1)DOMDocument讀取xml
?php $doc = new DOMDocument(); $doc-load('person.xml'); //讀取xml文件 $humans = $doc-getElementsByTagName( "humans" ); //取得humans標(biāo)簽的對(duì)象數(shù)組 foreach( $humans as $human ) { $names = $human-getElementsByTagName( "name" ); //取得name的標(biāo)簽的對(duì)象數(shù)組 $name = $names-item(0)-nodeValue; //取得node中的值,如name /name $sexs = $human-getElementsByTagName( "sex" ); $sex = $sexs-item(0)-nodeValue; $olds = $human-getElementsByTagName( "old" ); $old = $olds-item(0)-nodeValue; echo "$name - $sex - $old\n"; } ?
2)simplexml讀取xml
?php $xml_array=simplexml_load_file('person.xml'); //將XML中的數(shù)據(jù),讀取到數(shù)組對(duì)象中 foreach($xml_array as $tmp){ echo $tmp-name."-".$tmp-sex."-".$tmp-old."br"; } ?
3)用php正則表達(dá)式來記取數(shù)據(jù)
?php $xml = ""; $f = fopen('person.xml', 'r'); while( $data = fread( $f, 4096 ) ) { $xml .= $data; } fclose( $f ); // 上面讀取數(shù)據(jù) preg_match_all( "/\humans\(.*?)\\/humans\/s", $xml, $humans ); //匹配最外層標(biāo)簽里面的內(nèi)容 foreach( $humans[1] as $k=$human ) { preg_match_all( "/\name\(.*?)\\/name\/", $human, $name ); //匹配出名字 preg_match_all( "/\sex\(.*?)\\/sex\/", $human, $sex ); //匹配出性別 preg_match_all( "/\old\(.*?)\\/old\/", $human, $old ); //匹配出年齡 } foreach($name[1] as $key=$val){ echo $val." - ".$sex[$key][1]." - ".$old[$key][1]."br" ; } ?
4)xmlreader來讀取xml數(shù)據(jù)
?php $reader = new XMLReader(); $reader-open('person.xml'); //讀取xml數(shù)據(jù) $i=1; while ($reader-read()) { //是否讀取 if ($reader-nodeType == XMLReader::TEXT) { //判斷node類型 if($i%3){ echo $reader-value; //取得node的值 }else{ echo $reader-value."br" ; } $i++; } } ?
編碼問題,function
characterData改成如下
function
characterData($parser_instance,
$xml_data)
{
global
$name,$position;
$xml_data=iconv("utf-8","gb2312",$xml_data);//轉(zhuǎn)換成gb2312
if($position)
echo
$xml_data."br";
if($name)
echo
$xml_data."br";
}
顯示的那個(gè)頁面也要有charset=gb2312
轉(zhuǎn)成數(shù)組
?php/*** function:使用字符串方式讀XML文件* author:JetWu* date:2016.12.03**/$file = './write_str.xml';$con = file_get_contents($file); //XML標(biāo)簽配置$xmlTag = array( 'starttime', 'endtime', 'school'); $arr = array();foreach($xmlTag as $x) { preg_match_all("/".$x.".*\/".$x."/", $con, $temp); $arr[] = $temp[0];}//去除XML標(biāo)簽并組裝數(shù)據(jù)$data = array();foreach($arr as $key = $value) { foreach($value as $k = $v) { $a = explode($xmlTag[$key].'', $v); $v = substr($a[1], 0, strlen($a[1])-2); $data[$k][$xmlTag[$key]] = $v; }}echo 'pre';print_r($data);
給個(gè)小例子:
1.直接是xml字符串
?php
$string?=?XML
?xml?version='1.0'??
document
titleForty?What?/title
fromJoe/from
toJane/to
body
I?know?that's?the?answer?--?but?what's?the?question?
/body
/document
XML;
$xml?=?simplexml_load_string($string);
print_r($xml);
??
2.?xml文件的
?php
if?(file_exists('test.xml'))?{
$xml?=?simplexml_load_file('test.xml');
print_r($xml);
}?else?{
exit('Failed?to?open?test.xml.');
}
?
分享題目:用php讀取xml數(shù)據(jù),xml和php
文章路徑:http://chinadenli.net/article45/dseieei.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、自適應(yīng)網(wǎng)站、軟件開發(fā)、做網(wǎng)站、網(wǎng)站排名、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)