把從SQL中取出的資料轉換成XMl格式_PHP教學
使用了php的PEAR和DB
// -------------------------------- ----------- ---------------------------------------
// | PHP 版本4.0 🎜>|// ----------------------------------- ------ --------------------------------------
// |版權所有(c) 1997, 1998, 1999, 2000, 2001 PHP 小組
|// ---------------------------- ------------------------------------------
// |此來源文件受PHP 許可證2.0 版的約束,
|// |與此包捆綁在文件LICENSE 中,且是 |// | http:/ /www.php.net/license/2_02.txt。
|//|如果您沒有收到PHP 許可證副本並且無法
|// |透過萬維網取得,請留言至
|// | license@php.net,以便我們立即向您立即向您提供建議郵寄一份。
|// -------------------------------------------- ------------ --------------------------
// |作者:克里斯蒂安·斯托克
|// -------------------------------------------------- --------------------- --------------------------
//
// $Id: sql2xml.php,v 1.59 2001/11/13 10:54:02 chregu Exp $
/**
* 此類別採用 PEAR::DB-Result 物件、sql 查詢字串或陣列
* 並傳回它的 xml 表示。
*
* TODO
* -編碼等,標頭選項
* -錯誤檢查
*
* 使用範例
*
* include_on (*"DBce. php");
* include_once("XML /sql2xml.php");
* $db = DB::connect("mysql://root@localhost/xmltest");
* $sql2xml = new xml_sql2xml();
* //只有在您需要預設值以外的其他值時才需要下一個
* $sql2xml->setEncoding("ISO-8859-1","UTF-8" );
* $result = $db- >query("從band 中選擇*");
* $xmlstring = $sql2xml->getXML($result);
*
* 或
*
* include_once (" DB.php");
* include_once("XML/sql2xml.php");
* $sql2xml = new xml_sql2xml("my://root@localhostsql /xmltest");
* $sql2xml ->Add("select * from band");
* $xmlstring = $sql2xml->getXML();
*
* 更多文件和教學/操作方法可在以下位置找到:
* http://php.chregu.tv/sql2xml
*
* @author Christian Stocker
* @version $Id: sql2xml.php,v 1.59 2001/11/13 10:54:02 chregu Exp $
* @package XML
*/
🎜>
/**
* 如果連接表應該巢狀輸出。
* 表示,如果您連接了兩個或多個查詢,則後一個
* 指定的表將前一個
*與mysql 一起使用。其他 RDBMS
* 您必須手動提供表格關係(請參閱 user_tableinfo)
*
* @var lean
var $nested = True ;
/** 🎝>*/ /**
* 行中的標記元素名稱
*
* @var *
* @var
字串* @see insertNewRow()
*/
var $tagNameRow = "row";
>
/**
*
* @var object PEAR::DB
* @access private
*/
var $user_options = array();
/**
* 在擴充類別中所使用的選項(例如在 sql2xml_ext 中)。
* 它們透過SetOptions 作為陣列傳遞(arrary("user_options" = array());
* ,然後可以使用$this->user_options["bla"] 從您的 var $xmlroot;
* 如果您不使用mysql,它特別有用,因為
* mysql 以外的其他RDBMS 目前無法在查詢中提供有關
* 您的資料庫結構的正確資訊。如果您在 sql 中加入了超過 2 個
* 表,那麼 mysql 也不可能找出
* 您的真實關係。
* 參數與 PEAR: 中的 fieldInfo 中的參數相同: DB 和一些
* 其他的。它們來了:
* 來自 PEAR::DB->fieldinfo:
*
* $tableInfo[$i]["table"] * $tableInfo[$i]["table"]
* 與以某些 RDBMS/Comples 查詢與陣列,無法
* 您可以
* 則在此指定較精確。或者,如果您願意,該字段
* 屬於另一張表,而不是實際所說的(是的,有
> *
* $ tableInfo[$i]["name"] :欄位#$i的名稱。若您想要查詢或陣列提供的另一個
* 以標籤名稱,請於此指定
*
*
* 其他資訊
* $tableInfo["parent_key"] [$table] $tableInfo["parent_key"] [$table] :$table 父鍵的索引。
* 這是在其中找出已變更的字段,如果此
* * 父表。
*
* $tableInfo["parent_table"][$table]: $table 的父錶名稱。
*
* @var array
* @access private * 編碼類型,資料庫的輸入有
*/
var $encoding_from = "ISO-8859-1";
/**
* 編碼類型,xml 中的輸出應該有
*(注意 domxml 目前只支援 UTF-8,或至少看起來是這樣)
*/
姓名";
/**
* 建構子
* 建構子可以使用Pear::DB「資料來源名稱」(例如
* 「mysql://user:passwd@localhost/name」),然後連接到資料庫,或PEAR::DB 物件鏈接,如果您之前已經連接過
* 之前的資料庫。
" 如果您沒有提供$dsn 任何內容,則稍後只能使用
* 新增內容pear::db-resultset 或作為陣列提供sql-strings 將 * 如果您想為
* root- 提供另一個名稱,請使用$root 參數。 > * 根元素,但僅當您新增結果集/陣列/sql-string時。 PEAR::DB「資料來源名稱」或物件DB 物件
* @param string $root 名稱xml-doc 根元素。*/
function XML_sql2xml ($dsn = Null, $root = "root") {
如果字符串它必須是dsn 識別碼;
if (is_string( $dsn))
$this->db = DB::Connect ($dsn);
if (DB::isError($ this->db))
print "XML_sql2xml 的給定dsn 在檔案".__FILE__." 的第".__LINE__."
n" 行無效;
return new DB_Error($this->db->code }
elseif (is_object($dsn ) && DB::isError($dsn))
{
🎜> return new DB_Error($dsn-> code,PEAR_ERROR_DIE);
它已經是一個連線識別碼
elseif (get_parent_class($dsn ) == "db_common")
{
$
$this->xmldoc = domxml_new_xmldoc('1.0');
//oehm,但不幸的解決方案似乎知道什麼?
$ this->xmldoc->encoding = $this->encoding_to;
$this->xmlroot = $this->xmldoc->add_root($root );
//PHP 4.0.6 有$root- >name 作為標記名,請在此處檢查...
}))
{
}
}
/**
* 將新結果集新增至xml-object
* 給予sql-query-string、pear::db_result 物件或陣列作為
this > * 輸入的方法,並加到$this->xmldoc
*
* @param 字串sql-str 🎜> * @access public
* @see addResult()、addSql()、addArray( addResult()、addSql()、addArray( */
函數add ($resultset, $params = Null )
{
($resultset)) {
if ( preg_match("/.xml$/",$resultset)) {
> }
elseif (preg_match("/.*select.* from.*/i" , $resultset)) {
else {
$this- > ;AddXmlString($結果集);
}
} $this->AddArray($結果集) ;
}
$this->AddResult($resultset);
}
}
/**
* 將xml 檔案的內容新增至$this->xmldoc,與一般結果集處於相同等級
*(大部分位於
*
* @access public
* @see doXmlString2Xml()
doXmlString2Xml()
doXmlString2Xml()
*/
function addXmlFile($file,$xpath = Null) ;
$content = fread( $fd, filesize( $file ) );
fclose( $f 🎜> }
/**
* 將xml 字串的內容新增至$this->xmldoc,與一般結果集處於相同等級
*(大部分位於
* @param mixed xpath * @param mixed xpath 先前的標籤結果
* @access public
* @see doXmlString2Xml()
doXmlString2Xml()
*/
http://www.bkjia.com/PHPjc/313946.html
www.bkjia.com

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP和Python各有優勢,適合不同場景。 1.PHP適用於web開發,提供內置web服務器和豐富函數庫。 2.Python適合數據科學和機器學習,語法簡潔且有強大標準庫。選擇時應根據項目需求決定。

PHP用於構建動態網站,其核心功能包括:1.生成動態內容,通過與數據庫對接實時生成網頁;2.處理用戶交互和表單提交,驗證輸入並響應操作;3.管理會話和用戶認證,提供個性化體驗;4.優化性能和遵循最佳實踐,提升網站效率和安全性。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。
