Php implements xml operations. Php-implemented xml operation class. php-implemented xml this article describes the xml operation class implemented by php. For your reference, refer to: php * usage: $ testnewxml (); $ test-new php implementation xml operation class; php implementation xml
This example describes the xml operation class implemented by php. We will share this with you for your reference. The details are as follows:
<? Php/* usage: $ 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 ('pag E ', 100); $ test-> append_child_node ('Money', '35 RMB'); $ test-> append_root_node_end (); $ test-> display (); $ test-> save (); generated xml result: <? Xml version = "1.0" encoding = "UTF-8"?>
Linage
100
35 RMB
Li n a g e
100
35 RMB
*/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 = "<? Xml version =/"{$ ver}/" encoding =/"{$ encoding}/" standalone =/"yes/"?> "; $ This-> rss_start ="
"; $ This-> rss_end ="
";} 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 ="
"; $ 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; $ contents = "<{$ title} {$ pro_str}>/n "; $ this-> xml_document. = $ contents; $ this-> root_end ="
"; Return true;} function append_root_node_end () {$ this-> xml_document. = $ this-> root_end. "/n"; return true;} function append_child_node ($ title = 'undefined', $ contents = 'undefined', $ property = null, $ pro_val = null, $ cddate = false) {isset ($ property )? $ Pro_str = "$ property =/" $ pro_val/"": $ property = null; $ title = $ this-> filter ($ title ); $ contents = $ this-> filter ($ contents, false); $ property = $ this-> filter ($ property ); $ pro_val = $ this-> filter ($ pro_val); $ cddate = false? $ Cddate = false: $ cddate = true; if ($ cddate) {$ contents = "<{$ title} {$ pro_str}>
/N ";} else {$ contents =" <{$ title} {$ pro_str}> $ contents
";}$ This-> xml_document. = $ contents. "/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); I F ($ result) {return true;} else {echo "error: can't write to files, maybe the access denied. try to chmod 777 the directory? "; Return false ;}}}