Можно ли конвертировать из .php в .xml после завершения обработки?

0

У меня есть 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, как поза для трех, я мог бы просто объединить их?

Кроме того, если я только хотел, чтобы функция подсчета выводила один раз, я мог бы разместить ее вне цикла while?

Я понимаю, что этот вопрос довольно многословный, но я не уверен в конкретных деталях.

  • 0
    Кажется, вы уже обслуживаете документ как XML, поэтому любой анализатор XML сможет прочитать его как файл XML, даже без расширения .XML. Если это то, что ты хочешь
Теги:

1 ответ

0
Лучший ответ

вместо echo $xmlString; Добавь это

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

задайте имя и путь для output.xml, исходя из ваших потребностей.

  • 0
    Это очень хороший момент, от этого PHP может быть отделен, а затем я могу использовать XML-файл, созданный сценарием.
  • 0
    если это то, что вам нужно, пожалуйста, примите этот ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню