Php 如何将XML内容按相反顺序排列?

Php 如何将XML内容按相反顺序排列?,php,xml,reverse,Php,Xml,Reverse,我尝试了一些已经发布在这里的解决方案,但似乎没有任何效果。这可能是因为我对php或xml不太熟悉。我只需要输出xml进行xcoding。因此,希望有人能够解释一下,如何颠倒xml的顺序,以便最后一个条目位于顶部。 我的最后一次尝试是: $query = array_reverse($doc->xpath('query')); 但它不喜欢它,例如,它不起作用 下面是创建xml文档的代码: <?php if(!$dbconnect = mysql_connect('localhos

我尝试了一些已经发布在这里的解决方案,但似乎没有任何效果。这可能是因为我对php或xml不太熟悉。我只需要输出xml进行xcoding。因此,希望有人能够解释一下,如何颠倒xml的顺序,以便最后一个条目位于顶部。 我的最后一次尝试是:

$query = array_reverse($doc->xpath('query'));
但它不喜欢它,例如,它不起作用

下面是创建xml文档的代码:

<?php 

if(!$dbconnect = mysql_connect('localhost', '-', '-')) {
echo "Connection failed to the host 'localhost'.";
exit;
} // if
if (!mysql_select_db('-')) {
echo "Cannot connect to database '-'";
exit;
} // if

$table_id = 'table1';
$query = "SELECT Name,Age,Sex FROM $table_id";

$dbresult = mysql_query($query, $dbconnect);

// create a new XML document
$doc = new DomDocument('1.0');

// create root node
$root = $doc->createElement('root');
$root = $doc->appendChild($root);

// process one row at a time
while($row = mysql_fetch_assoc($dbresult)) {

// add node for each row
$occ = $doc->createElement($table_id);
$occ = $root->appendChild($occ);

// add a child node for each field
foreach ($row as $fieldname => $fieldvalue) {

$child = $doc->createElement($fieldname);
$child = $occ->appendChild($child);

$value = $doc->createTextNode($fieldvalue);
$value = $child->appendChild($value);

} // foreach
} // while


// get completed xml document
$xml_string = $doc->saveXML();
$doc->save("yolo.xml") 

//echo $xml_string;
?> 
createElement('root');
$root=$doc->appendChild($root);
//一次处理一行
while($row=mysql\u fetch\u assoc($dbresult)){
//为每行添加节点
$occ=$doc->createElement($table_id);
$occ=$root->appendChild($occ);
//为每个字段添加子节点
foreach($fieldname=>$fieldvalue的行){
$child=$doc->createElement($fieldname);
$child=$occ->appendChild($child);
$value=$doc->createTextNode($fieldvalue);
$value=$child->appendChild($value);
}//foreach
}//而
//获取完整的xml文档
$xml_string=$doc->saveXML();
$doc->save(“yolo.xml”)
//echo$xml_字符串;
?> 

最好的方法是发出一个SQL查询,该查询将按您想要的顺序返回结果。这里的SQL查询没有ORDERBY子句,因此结果不会按特定顺序返回

但是,在将结果添加到XML文档中时,也可以颠倒结果的顺序:不必为每行添加新的子节点,而是在它们前面添加。替换此行:

$occ = $root->appendChild($occ);


一般来说,最好在将XML添加到文档之前完成XML树的构建。

使用
SELECT 1,2,3,4这样的查询,您想实现什么?这只会为表中的每一行获取文本数字1、2、3、4。正确的做法不是反转XML,而是可能反转查询顺序。哦,很抱歉,我删除了其中最初的内容,我将对其进行编辑并将其放回原处。你能告诉我如何颠倒查询顺序吗?
$occ = $root->insertBefore($occ, $root->firstChild);