我想用SQL Query创建一个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文件告诉我这个:
此页面包含以下错误:
第1行第5行的错误:文档末尾的额外内容 下面是第一个错误的页面呈现。
有人知道我的错误在哪里以及如何修复它?
更新 正确创建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
。但我不知道,为什么他不能处理这个名字..
有什么想法吗?
问候,谢谢!
答案 0 :(得分:0)
正如Mateusz Sip所说,你不能拥有多个根元素,尝试类似的东西:
<?xml version="1.0" encoding="utf-8"?>
<products>
<product>
<title>iPhone 7</title>
</product>
<product>
<title>iPhone 6</title>
</product>
<product>
<title>iPhone 5</title>
</product>
</products>