使用PHP输出XML

时间:2009-05-25 10:29:52

标签: php xml

<?
    $MySQLPassword = "indian";  
    $HostName = "localhost";    
    $UserName = "monty";

    mysql_connect($HostName,$UserName,$MySQLPassword)
    or die("ERROR: Could not connect to database!");

    mysql_select_db("sachin") or die("cannot select db");

    $keyword = $_POST['keyword'];
    echo $keyword;
   /* Execute the query that performs the actual search in the DB: */
   $result = mysql_query(" SELECT p.page_url AS url,
                           COUNT(*) AS occurrences 
                           FROM page p, word w, occurrence o
                           WHERE p.page_id = o.page_id AND
                           w.word_id = o.word_id AND
                           w.word_word = \"$keyword\"
                           GROUP BY p.page_id
                           ORDER BY occurrences DESC
                           " );

$output = new DOMDocument();
$output->formatOutput = true;
$output = "<loginsuccess>";

for( $i = 1; $row = mysql_fetch_array($result); $i++ )      {


$output .="<person><keyword>".$_POST['keyword']."</keyword><name>".$row['url']."</name><occur>".$row['occurrences']."</occur></person>";
}

$output .= "</loginsuccess>";
print ($output);

?>

我将输出作为XML获取,但我需要将其存储在单独的xml文件中,任何人都可以帮助我。

还有一个问题,......

我正在使用fwrite并且能够写入文件,但是如何在每次写入时清除文件,而不是在文件末尾写入?我需要将现有内容销毁并重新编写。

4 个答案:

答案 0 :(得分:4)

使用fwrite

编辑:要截断,请使用:

$handle = fopen($filename , "wb")

做开放时。 w表示打开以进行写入并截断为0长度。 b表示二进制模式,因此Windows不会弄乱您的行结尾。

答案 1 :(得分:2)

file_put_contents是将字符串转储到文件的最简单方法。

答案 2 :(得分:0)

只需简单的文件功能,请在PHP.net网站上查看。

答案 3 :(得分:-2)

此外,您还要确保正确转义XML文件的内容。 htmlentities()是开始阅读该主题的好地方,或者您可以使用<![CDATA[ ... ]]>