2017-04-16 68 views
0

我想從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。但我不知道,他爲什麼不能處理這個名字。

有什麼想法嗎?

問候和謝謝你!

+2

XML可能不像你的榜樣,它不是一個有效的XML(超過1種元素)。 –

+0

所以我被迫改變? –

+0

您需要檢查是否確實在提取產品。我不能確定,因爲缺少太多的代碼,但很可能您的XML不包含任何產品,因爲您沒有提取任何產品。例如,在某些情況下,您必須先執行()查詢,然後才能獲取結果。 –

回答

0

正如Mateusz啜說你不能有多個根元素,嘗試類似的東西:

<?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> 
+0

我發現了錯誤...我更新了這個問題。因爲我不知道PHP需要什麼... –