首頁 後端開發 php教程 php實作的xml操作類

php實作的xml操作類

Jul 29, 2016 am 09:06 AM
append gt test this xml

本文實例講述了php實作的xml操作類別。分享給大家參考,具體如下:

<&#63;php
/*
使用方法:
$test=new xml();
$test->new_xml('test.xml');
$test->root('document');
$test->append_root_node('book');
$test->append_child_node('author','linage');
$test->append_child_node('page',100);
$test->append_child_node('money','35 RMB');
$test->append_root_node_end();
$test->append_root_node('book','name','The"Web"Servers');
$test->append_child_node('a u t ho"r','li n a g e');
$test->append_child_node('page',100);
$test->append_child_node('money','35 RMB');
$test->append_root_node_end();
$test->display();
$test->save();
生成的xml结果:
<&#63;xml version="1.0" encoding="utf-8"&#63;>
<document>
<book>
<author>linage</author>
<page>100</page>
<money>35 RMB</money>
</book>
<book name="TheWebServers">
<author>li n a g e</author>
<page>100</page>
<money>35 RMB</money>
</book>
</document>
*/
class xml{
var $version;
var $encoding;
var $start;
var $end;
var $filename;
var $xml_document;
var $root_start;
var $root_end;
var $rss_start;
var $rss_end;
function xml($ver='1.0',$encoding='GB2312'){
 $this->version="<&#63;xml version=/"{$ver}/" encoding=/"{$encoding}/" standal/" &#63;>";
 $this->rss_start="<rss version=/"2.0/" xmlns:domxml=/"[url]http://xml.666life.com/rss/1.0[/url]/" xmlns:geo=/"[url]http://www.w3.org/2003/01/geo/wgs84_pos#[/url]/">";
 $this->rss_end="</rss>";
}
function new_xml($filename){
 $this->filename=$filename;
 return true;
}
function root($element){
 $element=$this->filter($element);
 if(isset($this->start) and isset($this->end)){
 exit("error:Only one top level element is allowed in an XML document./r/n");
 }else{
 $this->start="<$element>";
 $this->end="</$element>";
 $this->xml_document=$this->version."/n".$this->rss_start."/n".$this->start."/n";
 return true;
 }
}
function append_root_node($title,$property=null,$pro_val=null){
 $title=$this->filter($title);
 $property=$this->filter($property);
 $pro_val=$this->filter($pro_val);
 $property!=null?$pro_str=" $property=/"$pro_val/"":$property=null;
 $c/n";
 return true;
}
function append_child_node($title='undefined',$c/n$contents/n']]--></$title>/n";
 }else{
 $c/n";
 return true;
}
function display(){
 header("Content-type: text/xml");
 $xml=$this->xml_document.$this->end."/n".$this->rss_end;
 echo $xml;
 //return true;
}
function filter($sring,$replace_null=true){
 $filter[]='"';
 $filter[]="//";
 $filter[]="/n";
 $filter[]="/r";
 $filter[]="/t";
 $replace_null===true?$filter[]=" ":$replace_null=false;
 foreach ($filter as $val){
 $sring=str_replace($val,'',$sring);
 }
 return $sring;
}
function encode(){
 //you can add the convert encode function here or add other class to do that
}
function save(){
 $this->xml_document=$this->xml_document.$this->end."/n".$this->rss_end;
 $handle=fopen($this->filename,'wb+');
 $result=fwrite($handle,$this->xml_document);
 fclose($handle);
 if($result){
 return true;
 }else{
 echo "error:can't write to files,maybe the access denied.try to chmod 777 the directory?";
 return false;
 }
}
}

登入後複製

更多關於PHP操作xml相關內容有興趣的讀者可查看本站專題:《PHP針對XML文件操作技巧總結》

希望本文所述對大家PHP程式設計有幫助。

以上就介紹了php實作的xml操作類,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

華為Watch GT 5智慧手錶獲得新功能更新 華為Watch GT 5智慧手錶獲得新功能更新 Oct 03, 2024 am 06:25 AM

華為Watch GT 5智慧手錶獲得新功能更新

鐵拳桑德斯上校的夢想被肯德基炸了 鐵拳桑德斯上校的夢想被肯德基炸了 Oct 02, 2024 am 06:07 AM

鐵拳桑德斯上校的夢想被肯德基炸了

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

您如何在PHP中解析和處理HTML/XML?

第一眼:即將推出的 Anker Zolo 4 連接埠 140W 帶顯示壁式充電器的拆箱視訊洩露 第一眼:即將推出的 Anker Zolo 4 連接埠 140W 帶顯示壁式充電器的拆箱視訊洩露 Oct 01, 2024 am 06:32 AM

第一眼:即將推出的 Anker Zolo 4 連接埠 140W 帶顯示壁式充電器的拆箱視訊洩露

三星 Galaxy Z Fold 特別版透露將於 10 月底登陸,但名稱出現衝突 三星 Galaxy Z Fold 特別版透露將於 10 月底登陸,但名稱出現衝突 Oct 01, 2024 am 06:21 AM

三星 Galaxy Z Fold 特別版透露將於 10 月底登陸,但名稱出現衝突

搭載 HyperOS 的新款小米米家石墨烯油汀到貨 搭載 HyperOS 的新款小米米家石墨烯油汀到貨 Oct 02, 2024 pm 09:02 PM

搭載 HyperOS 的新款小米米家石墨烯油汀到貨

Cyber​​truck FSD 評論稱讚快速車道切換和全螢幕視覺化 Cyber​​truck FSD 評論稱讚快速車道切換和全螢幕視覺化 Oct 01, 2024 am 06:16 AM

Cyber​​truck FSD 評論稱讚快速車道切換和全螢幕視覺化

Garmin 透過新的更新發布了針對多款智慧手錶的冒險賽車活動改進 Garmin 透過新的更新發布了針對多款智慧手錶的冒險賽車活動改進 Oct 01, 2024 am 06:40 AM

Garmin 透過新的更新發布了針對多款智慧手錶的冒險賽車活動改進

See all articles