導航:首頁 > 編程語言 > php數組轉換成xml

php數組轉換成xml

發布時間:2023-07-19 07:25:15

❶ 在php中將數組轉換為XML格式

php數組格式:

Array to XML:
通裂瞎過使用PHP的擴展SimpleXML,我們將uses_array轉換含源仔為xml格式。

保存成功的談汪XML文件:
The users.xml file contains the following xml.

附註:
Insert XML Into Databse
If you want to save the XML into the database, then replace the $xml_file variable line with the following code line. Now you can insert $xml_file variable into the database.

❷ PHP 里如何實現數組轉 xml 並且格式化

simplexml_load_string可以把xml解析成對象,然後可以用var_mp進行解析。\r\nphp內部庫並沒有包含直接把xml解析成數組的模塊。\r\n而且xml本來包含節點概念,解析成對象以後可以直接訪問每一個節點,而數組相對就要難以理解的多。\r\n因此解析成數組並不比解析成對象有多少優勢。\r\n如果你對數組實在有需求的話,可以自己寫一個庫,並不會太難。

❸ php webservice 返回 xml 格式保存及調用

寫個xml生成類
將扒肢跡數組傳進去
生成xml文件春並就可以飢輪
送你個 改改
<?php
class xml {
private $data;
private $encoding='utf-8'; //XML文件編碼
private $root='yee';

/*---------------------------------------
* 實例化時傳遞參數
* $data array 執行編譯的數據
*---------------------------------------*/
public function __construct($data=''){
$this->data=$data;
if( $this->data=='' ){
exit('請傳遞參數');
}
}

public function __toString(){
return $this->get_xml();
}
/*----------------------------------------
* 生成XML
*----------------------------------------*/
public function get_xml() {
$xml = "<?xml version=\"1.0\" encoding=\"{$this->encoding}\"?>";
$xml.= "<{$this->root}>";
$xml.= $this->make_xmk($this->data);
$xml.= "</{$this->root}>";
return $xml;
}

/*-------------------------------------
* 將數組或對象轉換成XML-DOM格式
*-------------------------------------*/
protected function make_xmk($data) {
$xml = '';
foreach ($data as $key => $value) {
//如果$key是一個數字,前面加item
(is_numeric($key)) ? $key='item'.$key : $key ;
$xml.="<{$key}>";
//如果遍歷的$value還是一個array,回調
$xml.= ( is_array($value) || is_object($value)) ? $this->make_xmk($value) : $value;
$xml.="</{$key}>";
}
return $xml;
}

/*-----------------------------------------
* 創建XML文件,成功後返迴文件路徑
* $path 文件路徑
* $filename 文件名
*-----------------------------------------*/
public function touch_xml($path='',$filename=''){
$path=$_SERVER['DOCUMENT_ROOT'].$path;

if($path{strlen($path)-1} != '/')$path.='/';

if(!is_dir($path))return '不是一個目錄';

$filename=$path.$filename;
touch ($filename);
chmod($filename,0777);

if(is_writeable($filename)){
if($handle=fopen($filename,'w+')){
if(fwrite($handle,$this->get_xml()) === false){
return '文件'.$filename.'寫入失敗';
}else{
return $filename; //返迴路徑
}
}else{
return '不能打開文件'.$filename;
}
}else{
return '文件'.$filename.'不可寫';
}

}
}
?>

❹ php如何生成xml文件

<?php
#使用dom生成xml,注意生成的xml中會沒有空格。
$dom=new DOMDocument('1.0','utf-8');
$path="test.xml"; // $path 為xml文件的存儲路徑。

$mole=$dom->createElement('newmole');// root node
$dom->appendChild($mole);

$year=$dom->createElement('year'); // add attribute node
$name=$dom->createAttribute('name');
$name->nodeValue="最新動態";
$year->setAttributeNode($name);
$mole->appendChild($year);

$news=$dom->createElement('news');
$year->appendChild($news);

$date=$dom->createElement('date');
$date_value=$dom->createTextNode('01-24');
$date->appendChild($date_value);
$news->appendChild($date);

$title=$dom->createElement('title');
$title_value=$dom->createTextNode('<![CDATA[最新動態]]>');
$title->appendChild($title_value);
$news->appendChild($title);

$info=$dom->createElement('info');
$info_value=$dom->createTextNode('<![CDATA[ 表面採用進口楸木木皮拼貼成精美的拼花,自然清晰的木材紋理得到完美的呈現,各種材質的合理搭配締造了雅意系列精緻的傢具產品。
]]>');
$info->appendChild($info_value);
$news->appendChild($info);

echo $dom->saveXML();
$dom->save($path);
?>

❺ 如何用php從資料庫讀取數據並生成xml文件


我的思路是,直接使用動態的xml,讓flash讀取這個文檔,這樣就不用實時的去生成xml文件了。當然,這個xml文件是.php格式的,所以你必須在flash中吧讀取的文件地址改成php的,就跟你寫一個php頁面一樣,不同的是這個php文件輸出的內容是一個xml格式的文本。

比如你現在建立文件 xml.php
<?php
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<gallery>
<settings>";

//若此處也有動態信息 按需要進行調用

echo"</settings>
<items>";

//在此循環你的圖片數據
$data = ??
while( $data ) {
echo "<item source=\"".$data['source']."\" description=\"".$data['description']."\" />";
}

echo '</items>';
?>

❻ 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

❼ PHP如何將數組寫入XML請直接提供代碼。感謝!!!

<?php
$imgdir = '你存放圖片的文件夾';
$logfile = '你要寫入的文件名';
$submit = $_POST['submit'];
if($submit == 'write'){
include('lib/write.class.php');
$wt = new writeTo();
$wt->while($imgdir,$logfile);
}
?>
<input type = 'submit' name = 'submit' value = 'write'>
這個是前提文件

下面的是類文件
<?php
class writeTo{
function isjpg($filename){
/*
用來判斷是否是 .jpg結尾的文件 由於本機器無JPG 所以使用PHP
代替了JPG 你自己使用的時候請自行替換
*/
if(preg_match('/\.php$/',$filename)){
return true;
}
false;
}
function listjpg($dir){//查看文件夾內的所有JPG文件名並存入數組
$arr = array();
if(is_dir($dir)){
$dp=dir($dir);
while($file=$dp->read()){
if($this->isjpg($file)){
$arr[substr($file,0,(strlen($file)-4))] = $file;
}
}
}
$dp->close();
return $arr;
}
function write($dir,$filename){//利用前面生成的數字重寫文件
if($link = fopen($filename,'w+')){
//由於使用W+所以如果存在該文件請給予讀寫許可權 如不存在則程序自動建立
$str = "<?xml version='1.0' encoding='utf-8'?>\n";
$str .= " <path>\n";
$arr = $this->listjpg($dir);
foreach($arr as $key => $v){
$str .= " <url info=".$key.">pic/".$v."</url>\n";
}
$str .= " <\path>\n";
if(fwrite($link,$str)){
fclose($link);
return true;
}
return false;
}
return false;
}
}

閱讀全文

與php數組轉換成xml相關的資料

熱點內容
java互聯網公司 瀏覽:68
對弈下象棋的app哪裡好 瀏覽:705
有什麼食譜app推薦 瀏覽:469
python實現動態口令 瀏覽:823
我的世界電腦伺服器地址怎麼添加 瀏覽:850
傳奇地圖怎麼加密到pak 瀏覽:977
linux刪除mysql用戶 瀏覽:755
圖案設計pdf 瀏覽:584
pdf編輯器在線 瀏覽:471
華為雲雲耀伺服器如何關機 瀏覽:994
數字加密的歷史 瀏覽:613
宏傑文件夾打不開 瀏覽:819
施工日記app哪個好 瀏覽:566
什麼是壓縮機的排氣量 瀏覽:538
在哪個app可以預約一科考試 瀏覽:634
易語言vmp加殼源碼 瀏覽:513
閱讀前端框架源碼 瀏覽:14
我的世界命令方塊傳送指令 瀏覽:545
不能用start命令打開xp 瀏覽:926
text命令 瀏覽:30