2011-03-18 52 views
0

嘿,所有。我正在尝试使用php保存XML文件。这里是我的代码,连接到数据库是好的,所有的,我可以使用$ dom-> saveXML(),但保存功能并没有保存任何东西。 请帮忙。保存为使用php问题的XML文档

<? 
$db_selected = mysql_select_db($database, $connection); 
if (!$db_selected) { 
    die ('Can\'t use db : ' . mysql_error()); 
} 

// Select all the rows in the markers table 

$query = "SELECT * FROM Listing_Arnona WHERE 1"; 
$result = mysql_query($query); 
if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 



// Iterate through the rows, adding XML nodes for each 

while ($row = @mysql_fetch_assoc($result)){ 
    // ADD TO XML DOCUMENT NODE 
    $node = $dom->createElement("marker"); 
    $newnode = $parnode->appendChild($node); 
    $newnode->setAttribute("Price",$row['Price']); 
    $newnode->setAttribute("PriceS", $row['Price']); 
    $newnode->setAttribute("address", $row['street_name']); 
    $newnode->setAttribute("NumRooms", $row['Room_Num']); 
    $newnode->setAttribute("PROMO", $row['PROMO']); 
} 

$dom->formatOutput = true; 
$test1 = $dom->saveXML(); // put string in test1 
$dom->save('test1.xml'); // save as file 

?> 
+0

你对'test1.xml'有写入权限吗?你能够成功输出'$ test1'到浏览器吗? – 2011-03-18 02:04:09

+0

'$ dom-> save('test1.xml')'返回什么?如果它返回“false”,它不能写入文件(并且很可能这是一个权限问题)。 – Jon 2011-03-18 02:04:31

+0

'不存储任何东西'?啊,要爱他们双重否定。它节省了什么? – 2011-03-18 02:05:33

回答

1

大家指出的问题是写入权限。我用chmod 777打开一个新文件夹名称'xml',并将代码更改为:

$dom->save('xml/test1.xml'); 

谢谢大家。

+1

不好意思,因为直言不讳,但*你在发帖之前没有检查函数的返回值?无价... http://php.net/manual/en/domdocument.save.php – Jon 2011-03-18 02:18:36