我有以下php代码,该代码从mysql获取数据并将其转换为xml文件,我将其实现到我的项目中,但无法以我想要的方式显示出来,代码如下:
<?php
// Start XML file, create parent node
$dom = new DOMDocument("1.0");
// Opens a connection to a MySQL server
$connection=mysqli_connect ('localhost', 'root', '');
if (!$connection) { die('Not connected : ' . mysqli_error());}
// Set the active MySQL database
$db_selected = mysqli_select_db($connection,'demo');
if (!$db_selected) {
die ('Can\'t use db : ' . mysqli_error());
}
header("Content-type: text/xml");
// Select all the rows in the markers table
$query = "SELECT * FROM paths WHERE 2";
$result = mysqli_query($connection,$query);
if (!$result) {
die('Invalid query: ' . mysqli_error());
}
// Iterate through the rows, adding XML nodes for each
$node = $dom->createElement("subdivision");
$parnode = $dom->appendChild($node);
while ($row = @mysqli_fetch_assoc($result)){
// Add to XML document node
$node = $dom->createElement("coord");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("pid", $row['pid']);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("lng", $row['lng']);
}
echo $dom->saveXML();
?>
这是我得到的:
<subdivision>
<coord pid="5" lat="-16.49899449" lng="-68.15313367"/>
<coord pid="5" lat="-16.50014664" lng="-68.14750318"/>
<coord pid="5" lat="-16.50719105" lng="-68.14712552"/>
<coord pid="5" lat="-16.50738856" lng="-68.15478162"/>
<coord pid="7" lat="-16.79950575" lng="-68.14613862"/>
<coord pid="7" lat="-16.79897082" lng="-68.15034432"/>
<coord pid="7" lat="-16.70394970" lng="-68.15261883"/>
<coord pid="7" lat="-16.70707687" lng="-68.14914269"/>
<coord pid="7" lat="-16.70394886" lng="-68.14501762"/>
<coord pid="7" lat="-16.70263299" lng="-68.14322037"/>
<coord pid="8" lat="-16.50882147" lng="-68.15543408"/>
<coord pid="8" lat="-16.50577663" lng="-68.15627522"/>
<coord pid="8" lat="-16.50220505" lng="-68.15594906"/>
<coord pid="8" lat="-16.50589184" lng="-68.15007824"/>
<coord pid="8" lat="-16.50921648" lng="-68.15265316"/>
<coord pid="8" lat="-16.51226042" lng="-68.15372944"/>
</subdivision>
但是我想要获得的如下:
<subdivision pid="5">
<coord lat="-16.49899449" lng="-68.15313367"/>
<coord lat="-16.50014664" lng="-68.14750318"/>
<coord lat="-16.50719105" lng="-68.14712552"/>
<coord lat="-16.50738856" lng="-68.15478162"/>
</subdivision>
<subdivision pid="7">
<coord lat="-16.79950575" lng="-68.14613862"/>
<coord lat="-16.79897082" lng="-68.15034432"/>
<coord lat="-16.70394970" lng="-68.15261883"/>
<coord lat="-16.70707687" lng="-68.14914269"/>
<coord lat="-16.70394886" lng="-68.14501762"/>
<coord lat="-16.70263299" lng="-68.14322037"/>
</subdivision>
<subdivision pid="8">
<coord lat="-16.50882147" lng="-68.15543408"/>
<coord lat="-16.50577663" lng="-68.15627522"/>
<coord lat="-16.50220505" lng="-68.15594906"/>
<coord lat="-16.50589184" lng="-68.15007824"/>
<coord lat="-16.50921648" lng="-68.15265316"/>
<coord lat="-16.51226042" lng="-68.15372944"/>
</subdivision>
我怎么能得到这个?
对此我有点陌生,我想请别人帮助我,我知道我必须使用循环,尝试但不能这样做
谢谢!