Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理完成后,是否可以从.php转换为.xml?_Php_Xml - Fatal编程技术网

处理完成后,是否可以从.php转换为.xml?

处理完成后,是否可以从.php转换为.xml?,php,xml,Php,Xml,我有一个PHP脚本,可以连接到数据库,获取结果并将其显示为XML文件 <?php header('Content-type: text/xml'); mysql_connect('host','user','password'); mysql_select_db('a8273293_blogger'); $sql = "Select * from Messages"; $q = mysql_query($sql) or die(mysql_error()); $result = my

我有一个PHP脚本,可以连接到数据库,获取结果并将其显示为XML文件

<?php
header('Content-type: text/xml');

mysql_connect('host','user','password');
mysql_select_db('a8273293_blogger');

$sql = "Select * from Messages";
$q = mysql_query($sql) or die(mysql_error());

$result = mysql_query("SELECT COUNT(id) AS total FROM Messages"); // Query to count IDs
    $data = mysql_fetch_assoc($result); // Fetch query result
    $countNo = $data['total']; // Store count value in var $countNo

$dom = new DOMDocument();

$root = $dom->createElement('root'); // Root element
$dom->appendChild($root);

while($r = mysql_fetch_array($q)){
  $user = $dom->createElement('username'); // Define tag name
    $userContent = $dom->createTextNode($r['user_username']); // Field
    $user->appendChild($userContent); // Add content to tag

  $text = $dom->createElement('text');
    $textContent = $dom->createTextNode($r['text']);
    $text->appendChild($textContent);

  $posted_at = $dom->createElement('posted_at');
    $posted_atContent = $dom->createTextNode($r['posted_at']);
    $posted_at->appendChild($posted_atContent);

  $messages = $dom->createElement('messages'); // Container
    $messages->appendChild($user); // Add field
    $messages->appendChild($text);
    $messages->appendChild($posted_at);

     // Count

  $count = $dom->createElement('result'); // Define tag name
  $countContent = $dom->createTextNode($countNo); // Field
  $count->appendChild($countContent); // Add content to tag

  $root->appendChild($count); // Add blah
  $root->appendChild($messages); // Add content to root
}

$xmlString = $dom->saveXML();
echo $xmlString;

?>

这个脚本创建了一个XML文档,它很好,但是在脚本完成后,我可以将文件转换为XML吗?这是因为我想附加一个Cron作业,以便每天之后都可以再次收集信息。。。这最终将用于向应用程序提供信息

另外,尝试合并还是创建一个包含我需要的所有数据的新行更好

例如,如果我有名字、姓氏、头衔,我想要所有的东西,从这3个作为XML标记中的一个字符串的姿势到这3个,我可以合并它们吗

另外,如果我只想让我的count函数输出一次,我可以把它放在while循环之外吗


我理解这个问题相当冗长,但我不确定具体的部分。

而不是
echo$xmlString添加此

$myfile = fopen("output.xml", "w");
fwrite($myfile, $xmlString);
fclose($myfile);

根据需要设置output.xml的名称和路径。

似乎您已经将文档作为xml提供,因此任何xml解析器都可以将其作为xml文件读取,即使没有.xml扩展名。如果这是你想要的,这是一个很好的观点,从这一点上,PHP可以被分离,然后我可以使用由脚本创建的XML文件。