有与内容类似以下内容的XML文件:如何对使用SimpleXML加载的XML文件的内容进行排序?
<FMPDSORESULT xmlns="http://www.filemaker.com">
<ERRORCODE>0</ERRORCODE>
<DATABASE>My_Database</DATABASE>
<LAYOUT/>
<ROW MODID="1" RECORDID="1">
<Name>John</Name>
<Age>19</Age>
</ROW>
<ROW MODID="2" RECORDID="2">
<Name>Steve</Name>
<Age>25</Age>
</ROW>
<ROW MODID="3" RECORDID="3">
<Name>Adam</Name>
<Age>45</Age>
</ROW>
我试图使用array_multisort
功能ROW
标签由Name
变量的数值进行排序:
$xml = simplexml_load_file('xml1.xml');
$xml2 = sort_xml($xml );
print_r($xml2);
function sort_xml($xml ) {
$sort_temp = array();
foreach ($xml as $key => $node) {
$sort_temp[ $key ] = (string) $node->Name;
}
array_multisort($sort_temp, SORT_DESC, $xml);
return $xml;
}
但代码无法按预期工作。
你说的没错,DOM是很多更加灵活和强大。但是我建议在任何情况下都使用Xpath。 :-) – ThW
@ThW,我喜欢XPath,但在这种特殊情况下,我不认为它会显着改善代码。 –