Вот простой PHP-скрипт, который генерирует XML:
<?php
// create doctype
$dom = new DOMDocument("1.0");
// display document in browser as plain text
header("Content-Type: text/plain");
// create root element
$root = $dom->createElement("page");
$dom->appendChild($root);
// loop through all posts
while (have_posts()) : the_post();
// create child element
$item = $dom->createElement("title");
$root->appendChild($item);
// add title data
$text = $dom->createTextNode(the_title());
$item->appendChild($text);
endwhile;
// save and display tree
echo $dom->saveXML();
?>
Похоже, что использование функции the_title () в моем XML приводит к печати за пределами дерева xml (ниже вывод браузера из приведенного выше кода):
This is my second postHello world!<?xml version="1.0"?>
<page><title></title><title></title></page>
Приведенный выше код работает нормально, если я заменил функцию the_title () статическим текстом, xml генерируется как требуется, например, если
$text = $dom->createTextNode("Title-goes-here");
Сгенерированный XML (это именно то, что я хочу):
<?xml version="1.0"?>
<page><title>Title-goes-here</title><title>Title-goes-here</title></page>
the_title () - это функция Wordpress, и я пытаюсь отобразить страницу в формате XML.