2013-09-26 68 views
0

我跑了一個問題,需要修復它非常快。 我有一個PHP代碼,它從XML文件中獲取值,但我不能使數據庫與動態XML。我的PHP版本是5.2,我的xml解析代碼是:從mysql獲取值到xml

<?php 
include("system/connect.php"); 
$q = mysqli_query($link, "select * from elements"); 
$xml = new XMLWriter(); 
$xml->openURI("php://output"); 
$xml->startDocument(); 
$xml->setIndent(true); 
$xml->startElement('link'); 

while(null !== ($row = mysqli_fetch_assoc($q))) { 
    $xml->startElement("title"); 
    $xml->writeRaw($row['name']); 
    $xml->endElement(); 

    $xml->startElement("id"); 
    $xml->writeRaw($row['id']); 
    $xml->endElement(); 

    $xml->startElement("img"); 
    $xml->writeRaw("images/elements/".$row['name'].".jpg"); 
    $xml->endElement(); 


} 
$xml->endElement(); 
header('Content-type: text/xml'); 
$xml->flush(); 
?> 

我到底想要什麼?我想從數據庫中的XML解析化學元素,如

<pages> 
    <link> 
    <title>Hydrogen</title> 
    <id>1</id> 
    <img>images/elements/Hydrogen.jpg</img> 
    </link> 
</pages> 

現在的輸出顯示:THIS

+0

使用XMLWriter的榮譽! :) – JimiDini

回答

0

$xml->startElement('link');應該是循環內,以及$xml->endElement();

您還需要外加$xml->startElement('pages');(與相應的endElement

+0

仍然不能正常工作 – MLL

+0

問題是沒有標籤,只是值 – MLL

+0

是什麼?有標籤!看看你的鏈接的來源。你也可以添加'header('Content-type:application/xml; charset = utf-8');'告訴瀏覽器它不是html – JimiDini