2016-12-26 2 views
0

Я использую этот кодПреобразовать исходный HTML-файл в файл XML

$html = file_get_html('http://example.com'); 

Но я хочу преобразовать его в файл XML затем использовать некоторые функции на нем. как я могу это сделать?

Я хочу использовать этот код. Могу я?

$html = file_get_html('http://example.com'); 
$doc = new DOMDocument(); 
$doc->loadHTML($html); 
$xml=simplexml_load_string($doc) or die("Errooooooor"); 
print_r($xml); 
+0

Итерация по элементам и вывода контента в XML .. – chris85

+0

Просто поместите ваш HTML в виде строки в объект DOMDocument. [Тема обсуждалась здесь] (http://stackoverflow.com/a/4881456/5482243) –

+0

[tagsoup] (https://sourceforge.net/projects/tagsoup/) является SAX-парсером для HTML, который может быть полезен Вот. См. Также [Как использовать JAXB с HTML?] (Http://stackoverflow.com/q/24791422/6002174), [анализировать любой HTML-документ с использованием html5lib] (http://stackoverflow.com/q/26717379/6002174) и [jTidy и TagSoup documentation] (http://stackoverflow.com/q/4452566/6002174). –

ответ

0

В этом случае было бы проще работать с HTML, с DOMDocument();
http://php.net/manual/en/domdocument.loadhtml.php

$html = file_get_html('http://example.com'); 
$doc = new DOMDocument(); 
$doc->loadHTML($html); 
+0

Alex спасибо, но когда я использую это для некоторого домена, он работает, но для некоторых из них он работает доцент. Почему? –

+0

Alex i edite мой вопрос, пожалуйста, прочитайте его прибыль –

+0

'$ xml = simplexml_load_string ($ doc) или die (" Errooooooor "); print_r ($ xml); '- нет, вы не можете этого сделать! В вашем случае $ doc является объектом, а simplexml_load_string() принимает корректную XML-строку в качестве параметра. Если вы хотите проанализировать свой HTML, вы можете сделать это следующим образом: [http://stackoverflow.com/questions/4881255/generating-xml-from-html-list-using-php](пример) –

Смежные вопросы