PHP массив из xml-файла - получить неизвестные имена объектов и атрибуты - PullRequest
0 голосов
/ 22 октября 2018

Я загружаю xml-файл так:

$xml = simplexml_load_file('test.xml'); 

Затем я создал массив:

$array= $xml->xpath('//objektart');

Содержимое массива выглядит так:

Array
(
    [0] => SimpleXMLElement Object
        (
            [haus] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [haustyp] => ZWEIFAMILIENHAUS
                        )

                )

        )

)

Теперь я хочу получить имя объекта SimpleXMLElement = "haus" и атрибуты = "haustyp" и "ZWEIFAMILIENHAUS" для вывода их на веб-сайт.

Значения, такие как «haus», «haustyp» и «ZWEIFAMILIENHAUS», могут различаться, поэтому я не могу полагаться на эти «ключевые слова» для доступа к ним.Просто метод создания массива из xml-элемента остается прежним.

Может кто-нибудь указать мне правильное направление здесь?Я застрял в течение нескольких часов испытаний без какого-либо результата ...

1 Ответ

0 голосов
/ 23 октября 2018

Я создал пакет, чтобы упростить преобразования xml в php.Вы можете найти его здесь:

https://github.com/mtownsend5512/xml-to-array/blob/master/src/XmlToArray.php

Это позволит вам конвертировать ваш xml следующим образом:

$xml = \Mtownsend\XmlToArray\XmlToArray::convert(file_get_contents('test.xml'));

Затем вы можете проверить массив php с помощью print_r($xml); Если атрибуты выбраны, они будут в @attributes ключе.Вы можете свободно использовать множество функций массива PHP для манипулирования и циклического перемещения по массиву.

Если вы предоставите больше информации о вашем фактическом xml, я могу привести более подробные примеры.

...