Главная / Язык программирования PHP / Имеется следующий xml-документ (data.xml): <?xml version="1.0"?> <root> <person num="10"> <name>Nick Petrov</name> </person> <person num="20"> <name>Pit Ivanov</name> </person> </root> Прео

Имеется следующий xml-документ (data.xml):

<?xml version="1.0"?> <root> <person num="10"> <name>Nick Petrov</name> </person> <person num="20"> <name>Pit Ivanov</name> </person> </root>

Преобразовать данные этого файла в массивы, содержащие информацию о каждой персоне (Например, Array("num"=>"10", "name"=>"Nick Petrov") )

вопрос

Правильный ответ:

<? $xmlstr = join('',file('data.xml')); if(!$dom = domxml_open_mem($xmlstr)) { echo "Ошибка \n"; exit; } $root = $dom->document_element(); $nodes = $root->child_nodes(); foreach($nodes as $node){ if ($node->tagname=='person'){ $currentPers = array(); $currentPers['num'] = $node->get_attribute('num'); $persons_info = $node->child_nodes(); foreach ($persons_info as $info){ if ($info->type==XML_ELEMENT_NODE) { $currentPers[$info->tagname] = $info->get_content(); } } print_r ($currentPers); echo "<br>"; } } ?>
<? if(!$dom = domxml_open_file('data.xml')) { echo "Ошибка \n"; exit; } $nodes = $dom ->child_nodes(); foreach($nodes as $node){ if ($node->tagname=='person'){ $currentPers = array(); $currentPers['num'] = $node->get_attribute('num'); $persons_info = $node->child_nodes(); foreach ($persons_info as $info){ if ($info->type==XML_ELEMENT_NODE) { $currentPers[$info->tagname] = $info->get_content(); } } print_r ($currentPers); echo "<br>"; } } ?>
<? $xmlstr = join('',file('data.xml')); if(!$dom = domxml_open_mem($xmlstr)) { echo "Ошибка \n"; exit; } $root = $dom->document_element(); $nodes = $root->child_nodes(); foreach($nodes as $node){ if ($node->tagname=='person'){ $currentPers = array(); $currentPers['num'] = $node->get_attribute('num'); $persons_info = $node->child_nodes(); foreach ($persons_info as $info){ $currentPers[$info->tagname] = $info->get_content(); } print_r ($currentPers); echo "<br>"; } } ?>
Сложность вопроса
80
Сложность курса: Язык программирования PHP
50
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Если бы не эти ответы - я бы не справился c этими тестами интуит.
25 окт 2019
Аноним
Пишет вам сотрудник деканата! Немедленно удалите сайт с ответами с интуит. Пишу жалобу
27 янв 2018
Аноним
Кто ищет вот эти вопросы inuit? Это же элементарно (я не ботан)
28 апр 2017
Оставить комментарий
Другие ответы на вопросы из темы интернет-технологии интуит.