Как распарсить xml через php?

Задача: требуется распарсить XML документ через php скрипт и поместить полученные данные в многомерном массиве. Решений на эту тему в интернете огромное множество, но я выбрал самое простое и, с моей точки зрения, гениальное.

Сначала нем необходимо получить содержимое файла:

$handle = fopen($xml_file_path, "rt");
if ($handle) {
	$file_data = "";
	while (!feof($handle)) {
		$file_data .= fgets($handle, 999);
	}
} else {
	echo "Error";
}
fclose($handle);

Содержимое файла у нас теперь в переменной $file_data. Теперь парсим содержимое и переводим в JSON, а потом в Array:

if ($file_data != "") {
	$xml_data = simplexml_load_string($file_data);
	$json_data = json_encode($xml_data);
	$array_data = json_decode($json_data,TRUE);
}

Все гениальное просто. На выходе получаем массив со всеми данными, секциями, атрибутами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *