我有一个包含大约60本书,我需要使用PHP到目前为止我的代码显示了所有的书放进升序从borrowedcount但不会进行排序的XML文件?任何帮助将是非常appriecated排序XML文件按升序使用PHP
PHP
<?php
$xmlassignDoc = new DOMDocument();
$xmlassignDoc->load("books.xml");
$books = $xmlBookDoc->getElementsByTagName("item");
foreach($books as $list)
{
$course = $list->getElementsByTagName("course");
$course = $course->item(0)->nodeValue;
//HERE is where the GET function will be
if ($course == "CC150")
{
print_r($array);
$id = $list->getAttribute("id");
echo "<b>Book ID: </b> $id <br>";
$title = $list->getElementsByTagName("title");
$title = $title->item(0)->nodeValue;
echo "<b>Title: </b> $title <br>";
$isbn = $list->getElementsByTagName("isbn");
$isbn = $isbn->item(0)->nodeValue;
echo "<b>ISBN: </b> $isbn <br>";
$borrowed = $list->getElementsByTagName("borrowedcount");
$borrowed = $borrowed->item(0)->nodeValue;
echo "<b>Borrowed Count: </b> $borrowed <br>";
echo "<br>";
}
}
//print $xmlBookDoc->saveXML();
?>
xml文件
<?xml version="1.0" encoding="utf-8"?>
<bookcollection>
<items>
<item id="51390">
<title>Management of systems development /</title>
<isbn>0091653215</isbn>
<url>http://library.hud.ac.uk/catlink/bib/51390</url>
<borrowedcount>45</borrowedcount>
<courses>
<course>CC140</course>
<course>CC210</course>
</courses>
</item>
<item id="483">
<title>Database systems management and design /</title>
<isbn>0877091153</isbn>
<url>http://library.hud.ac.uk/catlink/bib/483</url>
<borrowedcount>28</borrowedcount>
<courses>
<course>CC140</course>
</courses>
</item>
<item id="585842">
<title>E-learning skills /</title>
<isbn>0230573126</isbn>
<url>http://library.hud.ac.uk/catlink/bib/585842</url>
<borrowedcount>5</borrowedcount>
<courses>
<course>CC157</course>
</courses>
</item>
你不能指望XML文件进行排序如果你不隐式地写一些代码将会对它进行排序。 尝试改变你的那个循环,这样可以节省所有的值到一个数组,然后使用自定义排序功能,您可以选择进行排序的列。 – silkfire 2013-02-19 12:31:22
对不起忘了写,在我曾尝试ksort等,但它不是工作,所以删除代码,那正是我到目前为止 – 2013-02-19 12:34:52
这是什么呢? 'if($ course ==“CC150”)';你是否也根据课程过滤? – 2013-02-19 13:01:56