-3

データベースからさまざまなテーブルを出力しようとしていますが、考えていたことを実行する方法がわかりません。

このようにデータを出力したいと思います。

<locations>
    <destination>
       <name>A</name>
       <address>B</name>
    </destination>

    <destination>
       <name>C</name>
       <address>D</name>
    </destination>
</locations>

これまでのところ、これを出力として持っています。

 <Locations>
<destination name="burlo"/>
<destination name="Raymund"/>
<destination name="Bacolod City"/>
<destination name="Victorias"/>
<destination name="Sipalay"/>
<destination name="Ambot"/>
<destination name="aweawea"/>
<destination name="ilo-ilo"/>
<destination name="ilo-ilo"/>
<destination name="Hinobaan"/>
<destination name="heart"/>
<destination name="heart"/>
<destination name="heart"/>
<destination name="heart"/>
<destination name="heart"/>
<destination name="Daddy"/>
<destination name="aguisan"/>
</Locations>

これが私がそれらを生成する方法です。

// Start XML file, create parent node


$dom = new DOMDocument("1.0");
$node = $dom->createElement("Locations");
$parnode = $dom->appendChild($node); 

// Select all the rows in the markers table

$query = "SELECT  * FROM tbl_locations where status='active'";
$result = mysql_query($query);
if (!$result) {  
  die('Invalid query: ' . mysql_error());
} 

header("Content-type: text/xml"); 

// Iterate through the rows, adding XML nodes for each

while ($row = @mysql_fetch_assoc($result)){  
  // ADD TO XML DOCUMENT NODE  

  $node = $dom->createElement("destination");  

  $newnode = $parnode->appendChild($node);   
  $newnode->setAttribute("name",$row['name']);




} 

echo $dom->saveXML();

?>

助けていただければ幸いです。

4

3 に答える 3

0

お役に立てれば、

<?php 
$xml          = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
$root_element = "locations"; 
$xml         .= "<$root_element>";
$sql ="****  YOUR QUERY  ****";
if (!$result = mysql_query($sql))
   die("Query failed.");

if(mysql_num_rows($result)>0)
{
   $i = 0;
   while($result_array = mysql_fetch_array($result))
   {
    $xml .= "<destination>";
    $result[$i]['name']=$result_array['name'];
    $xml .= "<name><![CDATA[{$result[$i]['name']}]]></name>";
    $result[$i]['dea']=$result_array['address'];
    $xml .= "<address><![CDATA[{$result[$i]['address']}]]></address>";
    $xml.="</destination>";

    $i++;
   }
}
//close the root element

$xml .= "</$root_element>";

//send the xml header to the browser
header ("Content-Type:text/xml"); 

//output the XML data
echo $xml;

ご不明な点がございましたらお知らせください

于 2013-02-23T10:57:42.547 に答える