какой из двух более распространен? Я хочу зачитать номер версии из http://freshmeat.net/projects-xml/mysql/mysql.xml?branch_id=46519, но я хочу использовать тот, который есть у большего количества людей.
Если вы знаете другой способ получить номер последней стабильной версии от mysql, пожалуйста, сообщите мне;)






Для такого рода задач, вероятно, больше подходит чтение документа в DomDocument и использование DomXPath.
Чтобы ответить на ваш вопрос, обе библиотеки (а также DomDocument + DomXPath) входят в стандартную комплектацию PHP5, поэтому они будут одинаково хорошим выбором.
Поскольку это XML, а не HTML, loadXml будет более подходящим: docs.php.net/manual/en/domdocument.loadxml.php
SimpleXML был представлен в PHP5, в то время как XmlReader был включен по умолчанию только в версию 5.1, поэтому первый вариант, вероятно, лучший вариант:
$struct = simplexml_load_string($xml);
$version = (string)$struct->project->latest_release->latest_release_version;
Однако, если вы не выполняете никакой другой обработки XML и хотите максимизировать совместимость, вы можете просто выполнить регулярное выражение XML:
if (preg_match('/<latest_release_version>(.*?)<\/latest_release_version>/', $xml, $matches)){
$version = $matches[1];
}
Это сложнее, чем правильная обработка XML, но, вероятно, быстрее и поддерживается почти всеми установками PHP.
Это должен быть SimpleXML. Он включен по умолчанию быстрее загружает XML-документы, чем методы Dom, занимает меньше места в памяти, чем методы Dom, и имеет гораздо более простой методы xpath, чем методы Dom:
$xml = simplexml_load_file(
'http://freshmeat.net/projects-xml/mysql/mysql.xml?branch_id=46519'
);
$result = $xml->xpath('//latest_release/latest_release_version');
// or '//latest_release/*' if you'd rather loop through all release information.
while(list( , $node) = each($result))
echo $node, "\n";
Для больших файлов используйте XMLreader, simpleXML будет занимать всю память больших файлов.
Я бы специально рекомендовал файловый метод LoadHTML в качестве хорошей отправной точки, поскольку он был разработан для работы с этим, и его не следует путать с вложенными тегами. us3.php.net/manual/en/domdocument.loadhtml.php