XML是作為數據交換標准而出現的Java和NET都內在支持XML但是其它平台上的開發者也不用擔心自己被這項技術所遺棄了PHP就是一個頗受歡迎的支持XML的腳本環境
在本文中我將向你介紹利用諸如PHP和MySQL這樣的開放源碼工具來處理XML的過程我將以執行一個MySQL查詢並把從查詢所得到數據格式化為XML為例來加以說明最後在開始埋頭編寫代碼之前我將介紹如何把XML寫入文件並檢測系統設置
為了可以運行本文所給出的代碼你需要能過運行PHP和MySQL而且為了充分利用這些例子你還需要知道主機名用戶名和口令例子中的MySQL數據庫的格式如圖A所示讓我們看看如何用PHP來連接該數據庫
用PHP建立數據庫連接
下面的PHP腳本建立到數據庫的連接並執行一個查詢
<?php
$db_name = xrandomusa_;
$connection = mysql_connect( 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);
你可以通過網站來獲得關於所有MySQL函數的參考資料
建立並編寫XML
現在你應該已經做好了建立新XML文檔的准備了這有許多種方法不過我認為清單A中所用到的方法可以滿足絕大多數目的
現在我們詳細介紹這一過程變量num表示你查詢的數據行出現與否它對MySQL的mysql_num_rows函數是可測的變量$file包含了一個指針該指針指向PHP在文件系統中成功的搜索到resultsxml時所產生文件對象如果找到resultxml則創建你的PHP文件對象以及指定文件且其屬性是可寫的現在你可以把一個變量的內容打印到創建後的文件(由於你的目錄已經設置為允許PHP寫文件所以這麼做是沒有問題的)
注意從安全的角度來考慮在實際的應用程序開發中這麼做其實是很愚蠢的
為了確保你能夠安全的實現本文所涉及的概念你應該為你所希望打開並寫入的文件提供完全路徑並確保該文件位於你的Web根目錄之下
然後PHP的mysql_fetch_array函數把查詢變量$result轉換成一個數組並按其關鍵字進行循環如果pgaeTitle在查詢所返回的欄之中對每一行返回值都向字符串變量$_xml寫入某些文本
注意運算符=(它用來把XML格式的字符串當作數值來拼接)讀取$row當循環結束的時候根XML節點打印到變量$_xml之中所有的變量用PHP的fwrite函數寫入filexml文件之中
現在屏幕上顯示出一個鏈接確保這條鏈接指向你的XML文件的路徑否則你無法看到這個格式化XML(該文件用PHP處理MySQL查詢而產生)
From:http://tw.wingwit.com/Article/program/net/201311/13845.html