日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
php提取xml數(shù)據(jù) php獲取xml數(shù)據(jù)

怎么用php提取xml文件內(nèi)容

創(chuàng)建一個以.xml結(jié)尾的文檔

在攸縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計、網(wǎng)站制作 網(wǎng)站設(shè)計制作定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,攸縣網(wǎng)站建設(shè)費用合理。

內(nèi)容如下:

?xml version="1.0" encoding="utf-8"?

class

student info="美女"

name小喬/name

sex女/sex

age20/age

/student

student

name周瑜/name

sex男/sex

age25/age

/student

student

namehsy/name

sex男/sex

age21/age

/student

/class

創(chuàng)建以.php結(jié)尾的文件:代碼如下:

?php

header('content-type:text/html;charset=utf-8');

//1、創(chuàng)建一個DOMDocument對象。該對象就表示 xml文件

$xmldoc = new DOMDocument();

//2、加載xml文件(指定要解析哪個xml文件,此時dom樹節(jié)點就會加載到內(nèi)存中)

$xmldoc-load("class.xml");

//3、目標(biāo):獲取第一個學(xué)生的名字

$stu = $xmldoc-getElementsByTagName("name");//直接找到節(jié)點name

$stu1 = $stu-item(0);// item(1)時,可以取到周瑜

$sex=$xmldoc-getElementsByTagName("sex");

$sex1= $sex-item(0);

echo $sex1-nodeValue;

echo $stu1-nodeValue;

?

結(jié)果顯示為:女小喬

PHP讀取XML數(shù)據(jù)

編碼問題,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";

}

顯示的那個頁面也要有charset=gb2312

PHP 獲取XML數(shù)據(jù)

給個小例子:

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ù)

在做數(shù)據(jù)接口時 我們通常要獲取第三方數(shù)據(jù)接口或者給第三方提供數(shù)據(jù)接口 而這些數(shù)據(jù)格式通常是以XML或者JSON格式傳輸 本文將介紹如何使用PHP生成XML格式數(shù)據(jù)供第三方調(diào)用以及如何獲取第三方提供的XML數(shù)據(jù)

生成XML格式數(shù)據(jù)

我們假設(shè)系統(tǒng)中有一張學(xué)生信息表student 需要提供給第三方調(diào)用 并有id name sex age分別記錄學(xué)生的姓名 性別 年齡等信息

CREATE TABLE `student` (

`id` int( ) NOT NULL auto_increment

`name` varchar( ) NOT NULL

`sex` varchar( ) NOT NULL

`age` *** allint( ) NOT NULL default

PRIMARY KEY? (`id`)

) ENGINE=MyISAM? DEFAULT CHARSET=utf ;

首先 建立createXML php文件 先連接數(shù)據(jù)庫 獲取數(shù)據(jù)

include_once ( connect php ) //連接數(shù)據(jù)庫

$sql = select * from student ;

$result = mysql_query($sql) or die( Invalid query: mysql_error())

while ($row = mysql_fetch_array($result)) {

$arr[] = array(

name = $row[ name ]

sex = $row[ sex ]

age = $row[ age ]

}

這個時候 數(shù)據(jù)就保存在$arr中 你可以使用print_r打印下數(shù)據(jù)測試

接著 建立xml 循環(huán)數(shù)組 將數(shù)據(jù)寫入到xml對應(yīng)的節(jié)點中

$doc = new DOMDocument( utf ) ? // 聲明版本和編碼

$doc formatOutput = true;

$r = $doc createElement( root )

$doc appendChild($r)

foreach ($arr as $dat) {

$b = $doc createElement( data )

$name = $doc createElement( name )

$name appendChild($doc createTextNode($dat[ name ]))

$b appendChild($name)

$sex = $doc createElement( sex )

$sex appendChild($doc createTextNode($dat[ sex ]))

$b appendChild($sex)

$age = $doc createElement( age )

$age appendChild($doc createTextNode($dat[ age ]))

$b appendChild($age)

$r appendChild($b)

}

echo $doc saveXML()

我們調(diào)用了PHP內(nèi)置的類DOMDocument來處理與生成xml 最終生成的xml格式請點擊這里看效果

?xml version= encoding= utf ?

root

data

name李王皓/name

sex男/sex

age /age

/data

/root

獲取XML格式數(shù)據(jù)

現(xiàn)在我們假設(shè)要從第三方獲取學(xué)生信息 數(shù)據(jù)格式是XML 我們需要使用PHP解析XML 然后將解析后的數(shù)據(jù)顯示或者寫入本地數(shù)據(jù)庫 而這里關(guān)鍵的一步是解析XML

PHP有很多中方法可以解析XML 其中PHP提供了內(nèi)置的XMLReader類可以循序地瀏覽過xml檔案的節(jié)點 你可以想像成游標(biāo)走過整份文件的節(jié)點 并抓取需要的內(nèi)容 使用XMLReader是高效的 尤其是讀取非常大的xml數(shù)據(jù) 相對其他方法 使用XMLReader消耗內(nèi)存非常少

header( Content type:text/; Charset=utf )

$url = // helloweba /demo/importXML/createXML php ;

$reader = new XMLReader() ? //實例化XMLReader

$reader open($url) //獲取xml

$i= ;

while ($reader read()) {

if ($reader nodeType == XMLReader::TEXT) { //判斷node類型

$m = $i% ;

if($m== )

$name = $reader value;? //讀取node值

if($m== )

$sex = $reader value;

if($m== ){

$age = $reader value;

$arr[] = array(

name = $name

sex = $sex

age = $age

}

$i++;

}

}

//print_r($arr)

lishixinzhi/Article/program/PHP/201311/21636


名稱欄目:php提取xml數(shù)據(jù) php獲取xml數(shù)據(jù)
鏈接分享:http://www.dlmjj.cn/article/doipcji.html