我想从SQL查询中创建XML文件。但我的问题是,它未能每一次......这是我的代码:从SQL查询中创建XML文件
$stln = $database->query('SELECT name FROM `wp_all_import_xml` GROUP BY name');
$dom = new DOMDocument('1.0', 'utf-8');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
while($row = $stln->fetch_row()){
$product = $dom->createElement('product');
$title = $dom->createElement('title');
$title->nodeValue = $row["name"][0];
$product->appendChild($title);
$dom->appendChild($product);
}
$dom->save('httpdocs/cronjob/data/cronjob.xml');
的cronjob.xml文件应该是这样的结尾:
<product>
<title>iPhone 7</title>
</product>
<product>
<title>iPhone 6</title>
</product>
<product>
<title>iPhone 5</title>
</product>
但每次我结束时间了它看起来像这样一个空的XML文件:
<?xml version="1.0" encoding="utf-8"?>
而且我的浏览器是通过调用cronjob.xml文件告诉我:
此页面包含以下错误:
第5行第1列出现错误:文档末尾的额外内容 下面是页面渲染到第一个错误。
有谁知道我的错误在哪里以及我如何修复它?
更新: XML文件被正确创建。我看到了标题。但是还有另外一个问题......就是说我得到这样的错误:
PHP Warning: main(): unterminated entity reference Evil in /Users/spacer/Desktop/spacer/Test/spiel.php on line 21
PHP Warning: main(): unterminated entity reference Scenario Pack in /Users/spacer/Desktop/spacer/Test/spiel.php on line 21
PHP Warning: main(): unterminated entity reference Conquer The Ultimate Collection in /Users/spacer/Desktop/spacer/Test/spiel.php on line 21
PHP Warning: main(): unterminated entity reference Mystics in /Users/spacer/Desktop/spacer/Test/spiel.php on line 21
例如,发生这种情况的名称是这样的名称:Csx Nre 3Gs 21B Genset & New Haven Fl9 Twin Pack
。但我不知道,他为什么不能处理这个名字。
有什么想法吗?
问候和谢谢你!
XML可能不像你的榜样,它不是一个有效的XML(超过1种元素)。 –
所以我被迫改变? –
您需要检查是否确实在提取产品。我不能确定,因为缺少太多的代码,但很可能您的XML不包含任何产品,因为您没有提取任何产品。例如,在某些情况下,您必须先执行()查询,然后才能获取结果。 –