bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

php解析xml數據詳解 phpxml

PHP生成和獲取XML格式數據

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

為龍馬潭等地區用戶提供了全套網頁設計制作服務,及龍馬潭網站建設行業解決方案。主營業務為網站制作、網站建設、龍馬潭網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

生成XML格式數據

我們假設系統中有一張學生信息表student 需要提供給第三方調用 并有id name sex age分別記錄學生的姓名 性別 年齡等信息

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文件 先連接數據庫 獲取數據

include_once ( connect php ) //連接數據庫

$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 ]

}

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

接著 建立xml 循環數組 將數據寫入到xml對應的節點中

$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()

我們調用了PHP內置的類DOMDocument來處理與生成xml 最終生成的xml格式請點擊這里看效果

?xml version= encoding= utf ?

root

data

name李王皓/name

sex男/sex

age /age

/data

/root

獲取XML格式數據

現在我們假設要從第三方獲取學生信息 數據格式是XML 我們需要使用PHP解析XML 然后將解析后的數據顯示或者寫入本地數據庫 而這里關鍵的一步是解析XML

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

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

php解析xml報文的方法是DOMDocument:

解析方法如下:

$xmlstring = XML

?xml version='1.0'?

document

cmd attr='default'login/cmd

loginimdonkey/login

/document

XML;

$dom = new DOMDocument();

$dom-loadXML($xmlstring);

print_r(getArray($dom-documentElement));

function getArray($node) {

$array = false;

if ($node-hasAttributes()) {

foreach ($node-attributes as $attr) {

$array[$attr-nodeName] = $attr-nodeValue;

}

}

if ($node-hasChildNodes()) {

if ($node-childNodes-length == 1) {

$array[$node-firstChild-nodeName] = getArray($node-firstChild);

} else {

foreach ($node-childNodes as $childNode) {

if ($childNode-nodeType != XML_TEXT_NODE) {

$array[$childNode-nodeName][] = getArray($childNode);

}

}

}

} else {

return $node-nodeValue;

}

return $array;

}

php如何解析多級xml報文?

在該示例中,simplexml_load_file 函數用于加載 XML 文件并將其作為 SimpleXMLElement 對象返回。然后,我們可以使用 children() 方法訪問根節點的所有子節點,并使用 getName() 方法獲取每個子節點的名稱。接下來,我們可以繼續使用 children() 方法訪問每個子節點的所有子節點,以此類推,直到達到所需的級別。

分享題目:php解析xml數據詳解 phpxml
新聞來源:http://vcdvsql.cn/article40/ddcdoho.html

成都網站建設公司_創新互聯,為您提供自適應網站網站營銷網站設計公司電子商務App設計網站策劃

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營