首頁 後端開發 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

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

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

能否用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介面。完成連接後,您可以

C#開發中如何處理XML和JSON資料格式 C#開發中如何處理XML和JSON資料格式 Oct 09, 2023 pm 06:15 PM

C#開發中如何處理XML和JSON資料格式,需要具體程式碼範例在現代軟體開發中,XML和JSON是廣泛應用的兩種資料格式。 XML(可擴展標記語言)是一種用於儲存和傳輸資料的標記語言,而JSON(JavaScript物件表示)是一種輕量級的資料交換格式。在C#開發中,我們經常需要處理和操作XML和JSON數據,本文將重點放在如何使用C#處理這兩種數據格式,並附上

廣聯達軟體電腦設定推薦;廣聯達軟體對電腦的設定需求 廣聯達軟體電腦設定推薦;廣聯達軟體對電腦的設定需求 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,提取產品信息,轉換並將其儲存到資料庫中。

在Java中使用Jackson函式庫將POJO轉換為XML? 在Java中使用Jackson函式庫將POJO轉換為XML? Sep 18, 2023 pm 02:21 PM

Jackson是一個基於Java的函式庫,它對於將Java物件轉換為JSON以及將JSON轉換為Java物件非常有用。 JacksonAPI比其他API更快,需要更少的記憶體區域,並且適合大型物件。我們使用XmlMapper類別的writeValueAsString()方法將POJO轉換為XML格式,並且需要將對應的POJO實例作為參數傳遞給此方法。語法publicStringwriteValueAsString(Objectvalue)throwsJsonProcessingException範例imp

See all articles