UTF.COM.CN

¤@­Ó«Ü¤è«Kªº XML Ãþ

§@ªÌ¡J§H¦W | ¨Ó·½¡Jºôµ¸ | ²K¥[®É¶¡¡J2006-03-21 13:14:17 | ¤H®ð¡J1352

¤@­Ó«Ü¤è«Kªº XML Ãþ

<?

// ¥»¤H¤£¼ô±xXML¡A¥i¯àª`¸Ñ¹ïXMLªº´y­z¦³»~

// ³o¥u¬O­Ó«ä·Q¡A­n¹ê²{ªº¸ÜÀ³¸Ó²¤¥[­×¾ã¡A¥i¥H§â¤@¨Ç¤£±`¥Î±ø¥ó¬d¸ßªº¼Æ¾Ú¥ÎXML«O¦s

// ¦pµêÀÀªÀ°Ïªº ¥Î¤á¸ê®Æ¡A¤@¯ë¥u¦³¥Î¤á¦Û¤v©Î¨ä¥L¥Î¤á«ü©w¤F¥LªºUSERNAME¤~·|Åã¥Ü

// ³Ñ¤U¨C¦¸³£­n¶}±Ò¡B¬d¸ß¡B¸ÑÄÀ¼Æ¾Ú¶°¡BÃö³¬¼Æ¾Ú®wªº®ø¯Ó¡C



define("enter",chr(13).chr(10));

class DATA_XML //ÃöÁä¡I¡I¡I¤@­Ó¦Û©w¸qÃþ

{

var $parser; //XML¸ÑÄÀ¾¹

var $tags; //XML¼Ðñ

var $on; //

var $root; // ®Ú¤¸¯À

var $Data = array(); // ¤¸¯À¼Æ²Õ



function DATA_XML($filename,$root) //Ãþªì©l¨ç¼Æ filename¤å¥ó¦W,root®Ú¤¸¯À

{

$this->root = $root; // ªì©l®Ú¤¸¯À

$this->parser = xml_parser_create();//³Ð«Ø¸ÑÄÀ¹ï¶H

xml_set_object(&$this->parser,&$this);//³]¸m¹ï¶H

xml_set_element_handler($this->parser,"tag_on","tag_off");//³]¸m¤¸¯ÀºÞ²z¨ç¼Æ

xml_set_character_data_handler($this->parser,"getdata"); //³]¸m¼Æ¾ÚºÞ²z¨Æ¥ó

xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0);€€€€//­n¨DÄY®æ°Ï¤À¤j¤p¼g



if( file_exists($filename) ) //§ä¨ì¤å¥ó¶Ü¡H

{//§ä¨ì

$fp = fopen($filename,"r"); // ¥uŪ¥´¶}

$c€€€€= fread($fp,filesize($filename)); //Ū¨ú¼Æ¾Ú

fclose($fp);//Ãö³¬

$this->parse($c); //³]¸m¸ÑÄÀ¹ï¶H

}

else

{

echo "ooooo"; //¡I¡H¡I¦n¶H¬O½Õ¸Õ®É¥Îªº¡A¥h±¼ else¦n¤F

}





}



function parse($data)//¸ÑÄÀ¨ç¼Æ

{

xml_parse($this->parser,$data); 

}



function tag_on($parser,$tag,$attributes)//µo²{¤¸¯ÀIJµo¨ç¼Æ

{

$this->on = true; // ¤w¸gIJµo¹L

$this->tags = $tag;

//echo $tag;

}



function tag_off($parser,$tag) //¤¸¯Àµ²¯À¨ç¼Æ

{

$this->on = false; // ¤¸¯Àµ²¯À

}



function getdata($parser,$cdata) //¨ú¥X¤¸¯À

{

if($this->on && $this->tags!=$this->root)

{//ÅçÃÒ¤@¤U¤ñ¸û¦n¡A¡]²{¦b¬O§_¬°¤¸¯Àªº¶}©l¡A¨Ã¥B¤£¬O®Ú¤¸¯À¡H¡^



$this->Data[$this->tags]=trim($cdata);

€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€// ÃöÁä°Ú¡I¡I¥Î¼Ðñ°µ¼Æ²Õªí¡A¨Ãµ¹³o­Ó¼Æ²Õ¤¸¯À¥I¤W¼Æ¾Ú

//echo trim($cdata);

//echo $this->tags;

//echo "
";

}

}

function check($str)

{//Àˬd¦r²Å

if( strlen($str)<1 )//¦pªG¬OªÅ¦r²Å

return ’ ’;//ªð¦^ ’ ’

else

return $str;//§_«h­ì¸ôªð¦^¡]¤£µMXML¦n¶H·|¤£°µµ²§ô¼Ð°O¡^

}

function saveas($filename)//¥t¦s¬°

{

$c=’<?xml version="1.0" encoding="gb2312"?>’.enter;

€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€//³o­Ó¤£¥Î»¡¤F§a¡Aenter¬Odefine("enter",chr(13).chr(10));

$c.="<".$this->root.">".enter;

€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€//­º¥ý³]©w¤@¤U®Ú¤¸¯À

for( reset($this->Data);$i=key($this->Data);next($this->Data))

{//¶}©lÁ|¥X©Ò¦³¼Æ¾Ú°Õ

$c.= "<".$i.">".$this->check($this->Data[$i])."</".$i.">".enter;

// ¥Î¼Æ²Õªí¦W°µ¤¸¯À¼Ðñ¡A¨Ã¥[¤W¼Æ¾Ú¤º®e



//echo $c;

$c.="</".$this->root.">".enter;//µ²§ô¼Ðñ

$fp = fopen( $filename , "w" );//¼g¤J¤å¥ó

fwrite($fp,$c);

fclose($fp);



}

};









/*·sÁä¤@­ÓXML¤å¥ó

€€€€€€€€€€€€€€€€€€€€€€$xml = new DATA_XML(¸ô®|."arm.xml","DATA"/*®Ú¤¸¯À*/);

$xml->Data["UserName"]="Ãö¦Ð";

€€€€€€€€€€€€€€€€€€€€€€$xml->Data["Nick"]="Ãö¶³ªø";

$xml->saveas( ¸ô®|."arm.xml");

€€€€€€€€€€€€€€€€€€€€€€unset( $xml );

€€€€€€€€€€€€€€€€€€€€€€// Åª¨ú¤@­Ó¤å¥ó

€€€€€€€€€€€€€€€€€€€€€€$xml = new DATA_XML(¸ô®|."arm.xml","DATA");

€€€€€€€€€€€€€€€€€€€€€€echo $xml->Data["Nick"];//Åã¥Ü¤@¤U¡H

€€€€€€€€€€€€€€€€€€€€€€$xml->Data["Nick"]="Ãö¦Ñ·Ý";//UPDATE

€€€€€€€€€€€€€€€€€€€€€€$xml->Data["Master"]="¼B³Æ";//INSERT INTO

€€€€€€€€€€€€€€€€€€€€€€$xml->saveas(¸ô®|."arm.xml");//¥t¦s¬°Âл\¥»¨­

*/

?>€€

³d¥ô½s¿è¡J¥V¤Ñ¨Ó¤F
ºô¤Íµû½×¡]µû½×¤º®e¥u¥Nªíºô¤ÍÆ[ÂI¡A»P¥»¯¸¥ß³õµLÃö¡I¡^
  • ¥V¤Ñ¨Ó¤F µoªí¤_¡J2006-03-21 15:13:50
    §ï¤@¤U¡A°µ¦¨RSS¥Í¦¨¾¹¤£¿ù

©m¦W¡J

ÅçÃÒ½X¡J ÂIÀ»¨ê·s