我需要用PHP搜索XML节点值。这是我的XML数据。
<catalog>
<book id="bk100">
<author>Gambardella, Matthew</author>
<title>XML Developers Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
<book id="bk101">
<author>author, kumar</author>
<title>PHP Developers Guide</title>
<genre>Computer</genre>
<price>50.25</price>
<publish_date>2015-10-01</publish_date>
<description>PHP Applications</description>
</book>
</catalog>
我使用下面的PHP代码来获取网页中的值。
<?php
// Loading the XML file
$xml = simplexml_load_file("data.xml");
echo "<h2>".$xml->getName()."</h2><br />";
foreach($xml->children() as $book)
{
echo "BOOK : ".$book->attributes()->id."<br />";
echo "Author : ".$book->author." <br />";
echo "Title : ".$book->title." <br />";
echo "Genre : ".$book->genre." <br />";
echo "Price : ".$book->price." <br />";
echo "Publish Date : ".$book->publish_date." <br />";
echo "Description : ".$book->description." <br />";
echo "<hr/>";
}
?>
它将以XML格式返回完整的数据列表。我需要在XML中搜索特定单词,并且只需要显示该特定节点。对于前者如果我正在搜索关键字PHP
。它将仅返回第二个节点。我还需要在publish_date
之类的特定属性中进行搜索,并且我还需要通过DESC或ASC按特定字段对XML数据进行排序。
我有超过100万条XML格式的记录,所以有过滤和显示数据的依赖关系。而且我需要表明是否有可能使用jquery和Ajax来显示它。