Я рассмотрел много вопросов SimpleXML на этом сайте. Мои данные немного странные, и я не могу это изменить. Я пытаюсь получить из своих данных такие вещи, как «Building1» и «Hostname1», чтобы я мог взять эти данные и найти другие данные, а затем отобразить их.
Вот пример моих данных:
<?xml version='1.0' encoding='UTF-8'?>
<results preview = '0'>
<result offset='0'>
<field k='hostname'>
<value h='1'><text>Hostname 1</text></value>
</field>
<field k='os'>
<value><text>Windows 7</text></value>
</field>
<field k='location'>
<value h='1'><text>Building 1</text></value>
<field>
</result>
<result offset='1'>
<field k='hostname'>
<value h='1'><text>Hostname 2</text></value>
</field>
<field k='os'>
<value><text>Windows 10</text></value>
</field>
<field k='location'>
<value h='1'><text>Building 2</text></value>
</field>
</result>
........
И вот как я пытаюсь на это смотреть:
$xml = simplexml_load_file(data.xml);
print_r($xml);
$testArray = new SimpleXMLElement($xml);
$records = $testArray->results->result;
print_r($records);
По какой-то причине я просто не могу понять, как получить данные из элементов xml. Если кто-нибудь может указать мне в правильном направлении, я был бы признателен. Я пробовал много, много вариантов. Спасибо-
$objects = new SimpleXMLElement($testArray->result);
Как мне перейти отсюда?. 11.03.2019new SimpleXMLElement($testArray->result)
, просто$testArray->result
, который уже является объектом, который вы можете использовать в цикле, например.foreach ( $testObject->result as $result ) { echo $result['offset']; }
. См. примеры в руководстве. 11.03.2019field
с атрибутомk
. См. примеры 5 и 6 на странице руководства, на которую я ссылаюсь. 11.03.2019