Я строю PHP-сайт на основе XML-документов.Я знаю предостережения о безопасности.Одна проблема, которую я не предвидел, заключалась в том, что при загрузке XML-файла результат не является обычным массивом, поэтому обычная сортировка, ограничение или рандомизация не работают.
Решение, которое я нашел в stackoverflow, заключается в том, чтоЯ должен загрузить файл, удалить все элементы и перестроить результат, поэтому я сделал это:
if ( is_file( $file ) ) {
//Load the XML file
$loaded = simplexml_load_file( $file );
//We will be sorting the list based on lname
$names = array();
foreach ($loaded->xpath('//account/lname') as $name) {
$names[] .= $name;
}
sort($names);
//Rebuild the XML-list by lname
$list = array();
foreach ($names as $item) {
$list .= $loaded->xpath("//account[lname=\"{$item}\"]");
}
//Return the list
return (object)$list;
}
Проблема в том, что результат теперь не работает с xpath (ОШИБКА: 'вызов неопределенного метода stdClass:: XPath () ').Можно ли это как-то исправить или я должен обработать результат как массив с этого момента?