我已經創建了一個MySQL表,並且希望將該表的內容保存在XML文件中以供其他應用程序使用。我可以訪問數據並在布爾羅窗口上回顯數據,但在使用DomDocument :: save('thexmlfile.xml')進行保存時,我看不到在正在運行的PHP文件的目錄位置創建的任何新文件。使用PHP DOM從MySQL數據創建XML文件
0
A
回答
0
你必須創建MySQL數據的XML DOM,然後將其保存在一個XML file.An例如:
$sql = 'select * from messages';
$run = mysql_query($sql, $link);
if($run && mysql_num_rows($run)) {
$doc = new DOMDocument('1.0');
$doc->formatOutput = true;
$doc->preserveWhiteSpace = true;
$root = $doc->createElement('data');
$doc->appendChild($root);
while(($fetch = mysql_fetch_assoc($run))!== false) {
$node = $doc->createElement('node');
$root->appendChild($node);
foreach($fetch as $key => $value) {
createNodes($key, $value, $doc, $node);
}
}
$doc->save("thexmlfile.xml");
}
function createNodes($key, $value, $doc, $node) {
$key = $doc->createElement($key);
$node->appendChild($key);
$key->appendChild($doc->createTextNode($value));
}
現在,你應該看到XML文件。
希望它有幫助。
0
嗯,你的問題是關於DOM
,接受的答案是約DOM
,但你似乎並不需要這個功能,那麼libxml的兄弟SimpleXML
似乎更直截了當......我認爲你的問題是長但爲了完整起見:
$sql = 'select * from messages';
$run = mysql_query($sql, $link);
if($run && mysql_num_rows($run)) {
$xml = new SimpleXMLElement('<data/>');
while($fetch = mysql_fetch_assoc($run)) {
$node = $root->addChild('node');
foreach($fetch as $key => $value) {
$node->addChild($key,$value);
}
}
$xml->asXML("thexmlfile.xml");
}
相關問題
- 1. PHP從Mysql數據創建XML文件?
- 2. 使用PHP從MySQL數據庫創建一個XML文件
- 3. 使用DOM和MYSQL創建XML
- 4. 如何從MySQL數據查詢創建XML文件?
- 5. 從mysql數據創建xml文件到緩慢
- 6. 建議使用xml文件的數據庫表。 (mysql/php)
- 7. 從XML數據創建MySQL表
- 8. 創建使用XML文件中的PHP
- 9. 使用mysql數據庫在php中創建.exe文件
- 10. 使用javascript從預先創建的XML文件導入數據
- 11. SSIS:使用可變數據從XML源創建CSV文件
- 12. 從php創建xml文件的問題
- 13. 通過從數據庫中創建xml數據多邊形mysql
- 14. 如何從mysql數據庫獲取數據後創建XML文件?
- 15. 從PHP中的MySQL數據創建表
- 16. PHP:顯示Dom對象和創建xml文件
- 17. 使用python dom minidom創建沒有序幕的xml文件
- 18. 在Android中使用DOM創建XML文件
- 19. 使用DOM創建XML時創建空XML
- 20. 從IList創建XML文件
- 21. 從MySQL創建PHP數組
- 22. 使用PHP數據到XML文件
- 23. 用xml文件創建php請求
- 24. 使用PHP從JQuery創建XML
- 25. 使用PHP創建csv文件從MySQL結果?
- 26. 創建xml文件
- 27. 從XML文件創建數組列表
- 28. PHP:使用.xml創建.docx文檔
- 29. 操縱用PHP的XML文件和DOM
- 30. 創建MySQL用戶從PHP
謝謝@Pushpesh。問題是,我現在收到錯誤「XML分析錯誤:語法錯誤 位置:協議://localhost/practice/displayQueue.php 行號1,列1:數據未找到。」當我註釋行$ doc-> save(「thexmlfile.xml」)並添加echo doc-> saveXML(); ^ – 2012-04-04 10:56:35
好吧,你有我在我的例子中給出的mysql表結構...或者如果你有一個單獨的結構,在這裏發佈...我會做出適當的更改... – 2012-04-04 11:01:18
我創建表使用CREATE TABLE 'messages'( 'id' INT(10)無符號NOT NULL的auto_increment, 'senderNumber' VARCHAR(50)默認NULL, 'smsMessage' VARCHAR(1600)默認NULL, 'sentTime'時間戳NULL默認CURRENT_TIMESTAMP, ' ('id') )ENGINE = MyISAM;其中'現在顯示我只想顯示3個字段senderNumber,smsMessage和timeReceived。 – 2012-04-04 11:08:32