用MySQL和PHP創建XML_Xml教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:AJAX基礎教程及初步使用
      什么是 AJAX? AJAX (異步 JavaScript 和 XML) 是個新產生的術語,專為描述JavaScript的兩項強大性能.這兩項性能在多年來一直被網絡開發者所忽略,直到最近Gmail,Google suggest和google Map

      XML是作為數據交換標準而出現的。Java和.NET都內在支持XML,但是其它平臺上的開發者也不用擔心自己被這項技術所遺棄了。PHP就是一個頗受歡迎的支持XML的腳本環境。

      在本文中,我將向你介紹利用諸如PHP和MySQL這樣的開放源碼工具來處理XML的過程。我將以執行一個MySQL查詢并把從查詢所得到數據格式化為XML為例來加以說明。最后,在開始埋頭編寫代碼之前,我將介紹如何把XML寫入文件并檢測系統設置。

      為了可以運行本文所給出的代碼,你需要能過運行PHP和MySQL,而且為了充分利用這些例子,你還需要知道主機名、用戶名和口令。例子中的MySQL數據庫的格式如圖A所示。讓我們看看如何用PHP來連接該數據庫。

      用PHP建立數據庫連接

      下面的PHP腳本建立到數據庫的連接并執行一個查詢:

      以下為引用的內容:
      <?php
      $db_name = "xrandomusa_4";
      $connection = mysql_connect("MySQL.somewhere.com", "username", "password") or die("Could not connect.");
      $table_name = 'pages';


      查詢MySQL

      在MySQL連接建立之后,你必須用該連接來建立當前數據庫。下面的代碼就是用來完成這個任務的:

      $db = mysql_select_db($dbName, $link);

      現在,用一個SQL語句來選擇$table_name中的所有行:
      $query = "select * from " . $table_name;

      如有必要,你可以隨后添加屬性。現在,如下執行查詢:
      $result = mysql_query($query, $connection) or die("Could not complete database query");
      $num = mysql_num_rows($result);

      你可以通過PHP.net網站來獲得關于所有MySQL函數的參考資料。

      建立并編寫XML

      現在,你應該已經做好了建立新XML文檔的準備了。這有許多種方法,不過我認為清單A中所用到的方法可以滿足絕大多數目的。

      現在我們詳細介紹這一過程。變量num表示你查詢的數據行出現與否,它對MySQL的mysql_num_rows函數是可測的。變量$file包含了一個指針,該指針指向PHP在文件系統中成功的搜索到results.xml時所產生文件對象。如果找到result.xml,則創建你的PHP文件對象以及指定文件,且其屬性是可寫的。現在你可以把一個變量的內容打印到創建后的文件(由于你的目錄已經設置為允許PHP寫文件,所以這么做是沒有問題的)。

      注意,從安全的角度來考慮,在實際的應用程序開發中這么做其實是很愚蠢的。為了確保你能夠安全的實現本文所涉及的概念,你應該為你所希望打開并寫入的文件提供完全路徑,并確保該文件位于你的Web根目錄之下。

      然后,PHP的mysql_fetch_array函數把查詢變量$result轉換成一個數組,并按其關鍵字進行循環。如果pgaeTitle在查詢所返回的欄之中,對每一行返回值都向字符串變量$_xml寫入某些文本。

      注意運算符“.=”(它用來把XML格式的字符串當作數值來拼接)讀取$row。當循環結束的時候,根XML節點打印到變量$_xml之中,所有的變量用PHP的fwrite函數寫入file.xml文件之中。

      現在,屏幕上顯示出一個鏈接。確保這條鏈接指向你的XML文件的路徑,否則你無法看到這個格式化XML(該文件用PHP處理MySQL查詢而產生)。

      分享:如何讓WebServer返回指定XML內容
        通過創建WEBServer代理可以當作本地類使用,但能不能返回指定的XML呢?比如通過checkpass服務檢測帳號和密碼之后要返回該用戶擁有的權限列表。怎么實現呢?   ASP.NET Web服務支持在公

      來源:模板無憂//所屬分類:Xml教程/更新時間:2008-08-22
      相關Xml教程