當前位置:首頁 » 編程語言 » phpxml屬性值

phpxml屬性值

發布時間: 2023-09-11 06:34:40

A. 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)

lishixin/Article/program/PHP/201311/21636

B. php如何解析多級xml報文

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

熱點內容
arch搭建dhcp伺服器 發布:2025-08-18 05:50:07 瀏覽:14
php游戲後台 發布:2025-08-18 05:34:05 瀏覽:61
安卓手機怎麼看不了電池健康值 發布:2025-08-18 05:27:48 瀏覽:299
php表格顯示資料庫數據 發布:2025-08-18 05:20:44 瀏覽:720
提供固定ip的雲伺服器 發布:2025-08-18 05:14:25 瀏覽:746
codeblockslinux編譯 發布:2025-08-18 05:14:24 瀏覽:676
編譯程序比較復雜所以執行率高 發布:2025-08-18 05:13:50 瀏覽:172
計算機軟體編程 發布:2025-08-18 05:13:50 瀏覽:699
vcenter搭建域伺服器 發布:2025-08-18 05:08:49 瀏覽:511
serv文件怎麼上傳伺服器 發布:2025-08-18 05:07:16 瀏覽:57