Главная / Язык программирования 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>

Дописать в него информацию еще об одной персоне (тег person с атрибутом num="30" и элементом name="Nina")

вопрос

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

<? $xmlstr = join('',file('data.xml')); if(!$dom = domxml_open_mem($xmlstr)) { echo "Error \n"; exit; } $root = $dom->document_element(); $elements = $dom->get_elements_by_tagname("person"); $element = $elements[0]; $parent = $element->parent_node(); $children = $element->child_nodes(); $person = $dom->create_element("person"); $attr = $person->set_attribute("num","30"); foreach ($children as $child){ $node = $child->clone_node(); if ($child->tagname=="name") { $cont = $node->set_content("Nina"); } $person->append_child($node); } $parent->append_child($person); echo "<PRE>", htmlentities($dom->dump_mem(true)),"</PRE>"; ?>
<? $xmlstr = join('',file('data.xml')); if(!$dom = domxml_open_mem($xmlstr)) { echo "Ошибка \n"; exit; } $root = $dom->document_element(); $elements = $dom->get_elements_by_tagname("person"); $element = $elements[0]; $parent = $element->parent_node(); $children = $element->child_nodes(); $person = $element->clone_node(); $attr = $person->set_attribute("num","30"); foreach ($children as $child){ $node = $child->clone_node(); if ($child->tagname=="name") { $cont = $node->set_content("Nina"); } $person->append_child($node); } $parent->append_child($person); echo "<PRE>", htmlentities($dom->dump_mem(true)),"</PRE>"; ?>
<? $xmlstr = join('',file('data.xml')); if(!$dom = domxml_open_mem($xmlstr)) { echo "Ошибка \n"; exit; } $root = $dom->document_element(); $children = $root->child_nodes(); $person = $dom->create_element("person"); $attr = $person->set_attribute("num","30"); foreach ($children as $child){ $node = $child->clone_node(); if ($child->tagname=="name") { $node->set_content("Nina"); } $person->append_child($node); } $root->append_child($person); echo "<PRE>", htmlentities($dom->dump_mem(true)),"</PRE>"; ?>
Сложность вопроса
95
Сложность курса: Язык программирования PHP
50
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
спасибо за тест
26 янв 2020
Оставить комментарий
Другие ответы на вопросы из темы интернет-технологии интуит.