首頁 後端開發 php教程 一個很方便的 XML 類別! !原創的噢_PHP教程

一個很方便的 XML 類別! !原創的噢_PHP教程

Jul 21, 2016 pm 04:11 PM
xml 原創 思想 類別



// 本人不熟悉XML,可能註解對XML的描述有誤
// 這只是個思想,要實現的話應該略加修整,可以把一些不常用條件查詢的資料用XML保存
// 如虛擬社群的使用者資料,一般只有使用者自己或其他使用者指定了他的USERNAME才會顯示
// 剩下每次都要開啟、查詢、解釋資料集、關閉資料庫的消耗。

define("enter",chr(13).chr(10));
class DATA_XML //關鍵! ! !一個自訂類別
{
var $parser; //XML解釋器
var $tags; //XML標籤
var $on; //
var $root; // 根元素
var $Data = array(); // 元素數組

function DATA_XML($filename,$root) //類別初始函數filename檔名,root根元素
{
$this->root = $root; // 初始根元素
$this->parser = xml_parser_create();//建立解釋對象
xml_set_object(&$this->parser,&$this);/ /設定物件
xml_set_element_handler($this->parser,"tag_on","tag_off");//設定元素管理函數
xml_set_character_data_handler($this->parser,"getdata"); //設定資料管理事件
xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0);  //要求嚴格區分大小寫

if( file_exists($filename) ) //找到檔案嗎?
{//找到
$fp = fopen($filename,"r"); // 只讀開啟
$c  = fread($fp,filesize($filename)); //讀取資料
fclose($fp);//關閉
$this->parse($c); //設定解釋物件
}
else
{
echo "ooooo" ; //! ? !好像是調試時用的,去掉else好了
}


}

function parse($data)//解釋函數
{
xml_parse ($this->parser,$data);
}

function tag_on($parser,$tag,$attributes)//發現元素觸發函數
{
$this-> on = true; // 已經觸發過
$this->tags = $tag;
//echo $tag;
}

function tag_off($parser,$tag) / /元素結素函數
{
$this->on = false; // 元素結素
}

function getdata($parser,$cdata) //取出元素
{
if($this->on && $this->tags!=$this->root)
{//驗證一下比較好,(現在是否為元素的開始,並且不是根元素? )

$this->Data[$this->tags]=trim($cdata);
                    // 關鍵啊! !用標籤做數組表,並給這個數組元素付上資料
//echo trim($cdata);
//echo $this->tags;
//echo "n";
}
}
function check($str)
{//檢查字元
if( strlen($str)return ' ';/ /返回' '
else
return $str;//否則原路返回(不然XML好像會不做結束標記)
}
function saveas($filename)//另存為
{
$c=''.enter;
            ",chr( 13).chr(10));
$c.="root.">".enter;
                $this->Data);$i=key($this->Data);next($this->Data))
{//開始舉出所有資料啦
$c.= "".$this->check($this->Data[$i])."".$i.">".enter;
// 用陣列表名做元素標籤,並加上資料內容
}
//echo $c;
$c.="".$this->root.">".enter;//結束標籤
$fp = fopen( $filename , "w" );//寫入檔案
fwrite($fp,$c);
fclose($fp);

}
};




/*新鍵一個XML檔案
           $xml = new DATA_XML(路徑."arm.xml","DATA/new* );
$xml->Data["UserName"]="關羽";
           $xml->Data["Nick"]="關雲長";
$xml->saveas( 路徑." arm.xml");
           unset( $xml );
           // ,"DATA");
           echo $xml->Data["Nick"];//顯示一下?
           $xml->Data["Nick"]="關老爺";//UPDATE
            $xml- >saveas(路徑."arm.xml");//另存為覆蓋本身
*/
?> 

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/313924.htmlTechArticle? // 本人不熟悉XML,可能註解對XML的描述有誤// 這只是個思想,要實現的話應該要略加修整,可以把一些不常用條件查詢的資料用XML保存//...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
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)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1249
24
能否用PowerPoint開啟XML文件 能否用PowerPoint開啟XML文件 Feb 19, 2024 pm 09:06 PM

XML檔可以用PPT開啟嗎? XML,即可擴展標記語言(ExtensibleMarkupLanguage),是一種廣泛應用於資料交換和資料儲存的通用標記語言。與HTML相比,XML更加靈活,能夠定義自己的標籤和資料結構,使得資料的儲存和交換更加方便和統一。而PPT,即PowerPoint,是微軟公司開發的一種用於創建簡報的軟體。它提供了圖文並茂的方

如何在技嘉主機板上設定鍵盤啟動功能 (技嘉主機板啟用鍵盤開機方式) 如何在技嘉主機板上設定鍵盤啟動功能 (技嘉主機板啟用鍵盤開機方式) Dec 31, 2023 pm 05:15 PM

技嘉的主機板怎麼設定鍵盤開機首先,要支援鍵盤開機,一定是PS2鍵盤! !設定步驟如下:第一步:開機按Del或F2進入bios,到bios的Advanced(進階)模式普通主機板預設進入主機板的EZ(簡易)模式,需要按F7切換到進階模式,ROG系列主機板預設進入bios的進階模式(我們用簡體中文來示範)第二步:選擇到-【進階】-【進階電源管理(APM)】第三步:找到選項【由PS2鍵盤喚醒】第四步:這個選項預設是Disabled(關閉)的,下拉之後可以看到三種不同的設定選擇,分別是按【空白鍵】開機、按組

CS玩家的首選:建議的電腦配置 CS玩家的首選:建議的電腦配置 Jan 02, 2024 pm 04:26 PM

1.處理器在選擇電腦配置時,處理器是至關重要的組件之一。對於玩CS這樣的遊戲來說,處理器的效能直接影響遊戲的流暢度和反應速度。建議選擇IntelCorei5或i7系列的處理器,因為它們具有強大的多核心處理能力和高頻率,可以輕鬆應對CS的高要求。 2.顯示卡顯示卡是遊戲表現的重要因素之一。對於射擊遊戲如CS而言,顯示卡的表現直接影響遊戲畫面的清晰度和流暢度。建議選擇NVIDIAGeForceGTX系列或AMDRadeonRX系列的顯示卡,它們具備出色的圖形處理能力和高幀率輸出,能夠提供更好的遊戲體驗3.內存電

主機板上的數位音訊輸出介面-SPDIF OUT 主機板上的數位音訊輸出介面-SPDIF OUT Jan 14, 2024 pm 04:42 PM

主機板上SPDIFOUT連接線序最近我遇到了一個問題,就是關於電線的接線順序。我上網查了一下,有些資料說1、2、4對應的是out、+5V、接地;而有些資料則說1、2、4對應的是out、接地、+5V。最好的方法是查看你的主機板說明書,如果找不到說明書,你可以使用萬用電表進行測量。首先找到接地,然後就可以確定其他的接線順序了。主機板vdg怎麼接線連接主機板的VDG接線時,您需要將VGA連接線的一端插入顯示器的VGA接口,另一端插入電腦的顯示卡VGA接口。請注意,不要將其插入主機板的VGA介面。完成連接後,您可以

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

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

廣聯達軟體電腦設定推薦;廣聯達軟體對電腦的設定需求 廣聯達軟體電腦設定推薦;廣聯達軟體對電腦的設定需求 Jan 01, 2024 pm 12:52 PM

廣聯達軟體是一家專注於建築資訊化領域的軟體公司,其產品被廣泛應用於建築設計、施工、營運等各個環節。由於廣聯達軟體功能複雜、資料量大,對電腦的配置要求較高。本文將從多個方面詳細說明廣聯達軟體的電腦配置推薦,以幫助讀者選擇適合的電腦配置處理器廣聯達軟體在進行建築設計、模擬等操作時,需要進行大量的數據計算和處理,因此對處理器的要求較高。建議選擇多核心、高主頻的處理器,如英特爾i7系列或AMDRyzen系列。這些處理器具有較強的運算能力和多執行緒處理能力,能夠更好地滿足廣聯達軟體的需求。記憶體記憶體是影響計算

如何使用 PHP 函數處理 XML 資料? 如何使用 PHP 函數處理 XML 資料? May 05, 2024 am 09:15 AM

使用PHPXML函數處理XML資料:解析XML資料:simplexml_load_file()和simplexml_load_string()載入XML檔案或字串。存取XML資料:利用SimpleXML物件的屬性和方法來取得元素名稱、屬性值和子元素。修改XML資料:使用addChild()和addAttribute()方法新增元素和屬性。序列化XML資料:asXML()方法將SimpleXML物件轉換為XML字串。實戰案例:解析產品饋送XML,提取產品信息,轉換並將其儲存到資料庫中。

最佳顯示卡驅動版本是? (哪個顯示卡驅動版本最好用) 最佳顯示卡驅動版本是? (哪個顯示卡驅動版本最好用) Jan 10, 2024 pm 11:13 PM

哪个版本的显卡驱动最好用1、没有绝对的最好版本,选择适合自己电脑的版本最重要;2、因为显卡驱动版本的适用性和稳定性与电脑硬件环境和系统的配置有关;3、可以在官网查看电脑和显卡的详细信息,根据信息选择适合的驱动版本,也可以参考其他用户的评价选择。建议在安装驱动之前备份系统,以免出现意外情况。显卡驱动版本472.19系列是非常出色的选择。目前,472版本的驱动兼容性是最优秀的。安装472版本的驱动也能够使显卡发挥出最佳性能。NVIDIA显卡驱动Win7安装版,编号为2、472.19,是一款质量显著的

See all articles