Задача: требуется распарсить 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);
}
Все гениальное просто. На выходе получаем массив со всеми данными, секциями, атрибутами.