игра брюс 2048
Главная / Программирование / Язык программирования PHP / Тест 14

Язык программирования PHP - тест 14

Упражнение 1:
Номер 1
Какая комбинация технологий позволяет получить HTML-документы?

Ответ:

 (1) XML + XSLT 

 (2) XSLT + DTD 

 (3) XML + DTD 


Номер 2
Укажите правильный заголовок XML-документа.

Ответ:

 (1) <?xml version='1.0' encoding='UTF-16' standalone='yes' ?> 

 (2) <?xml version='1.0' encoding='iso-8859-5' standalone='yes' ?> 

 (3) <?xml encoding='UTF-16' standalone='yes' ?> 


Номер 3
Какие технологии можно использовать для того, чтобы создавать xml-документы, соответствующие выбранному  XML-языку?

Ответ:

 (1) DTD 

 (2) Schema 

 (3) DOM 


Упражнение 2:
Номер 1
Какими отношениями могут быть связаны элементы в XML- документах?

Ответ:

 (1) родитель\потомок 

 (2) отношение равенства 

 (3) брат\сестра 


Номер 2
Какая переменная в php.ini содержит путь до библиотек расширений?

Ответ:

 (1) extension_dir 

 (2) dir_extension 

 (3) extensions 


Номер 3
Какую функцию можно использовать для получения состояния установки PHP?

Ответ:

 (1) phpinfo() 

 (2) php_info() 

 (3) aboutphp() 


Упражнение 3:
Номер 1
Функция domxml_open_mem в качестве результата возвращает объект класса DOMDocument. Что передается этой функции в качестве параметра?

Ответ:

 (1) в качестве параметра передается строка, содержащая XML- документ 

 (2) в качестве параметра передается строка, содержащая путь к XML-документу 

 (3) в качестве параметра передается объект класса DOMNode 


Номер 2
Функция domxml_open_file в качестве результата возвращает объект класса DOMDocument. Что передается этой функции в качестве параметра?

Ответ:

 (1) в качестве параметра передается строка, содержащая путь к XML-документу 

 (2) в качестве параметра передается строка, содержащая XML-документ 

 (3) в качестве параметра передается объект класса DOMNode 


Номер 3
Функция domxml_new_doc в качестве результата возвращает пустой XML-документ. Что передается этой функции в качестве параметра?

Ответ:

 (1) у этой функции параметров нет 

 (2) в качестве параметра передается строка, содержащая путь, где будет храниться XML-документ 

 (3) в качестве параметра передается строка, в которой содержатся первоначальные данные XML-документа 

 (4) в качестве параметра передается версия создаваемого XML-документа 


Упражнение 4:
Номер 1
Что возвращает метод document_element класса DomDocument?

Ответ:

 (1) корневой элемент 

 (2) содержимое элемента 

 (3) значение атрибута 


Номер 2
Что возвращает метод get_content класса DomNode?

Ответ:

 (1) корневой элемент 

 (2) содержимое элемента 

 (3) значение атрибута 


Номер 3
Что возвращает метод get_attribute класса DomElement?

Ответ:

 (1) корневой элемент 

 (2) содержимое элемента 

 (3) значение атрибута 


Упражнение 5:
Номер 1
С помощью какой функции можно преобразовать xml-файл в дерево PHP объектов?

Ответ:

 (1) domxml_new_doc 

 (2) domxml_open_file 

 (3) domxml_open_mem 


Номер 2
С помощью какой функции можно преобразовать строку, содержащую xml-документ, в дерево PHP объектов?

Ответ:

 (1) domxml_new_doc 

 (2) domxml_open_file 

 (3) domxml_open_mem 


Номер 3
С помощью какой функции в PHP можно создать xml-документ?

Ответ:

 (1) domxml_new_doc 

 (2) domxml_open_file 

 (3) domxml_open_mem 


Упражнение 6:
Номер 1
        

Имеется следующий 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") )


Ответ:

 (1) <? $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>"; } } ?>  

 (2) <? 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>"; } } ?>  

 (3) <? $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>"; } } ?>  


Номер 2
        

Имеется следующий 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")


Ответ:

 (1) <? $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>"; ?>  

 (2) <? $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>"; ?>  

 (3) <? $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>"; ?>  


Номер 3
        

Создать с помощью PHP xml-документ следующего вида:

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

Ответ:

 (1) <?php $doc = domxml_new_doc("1.0"); $root = $doc->create_element("root"); $pers = $doc->create_element("person"); $pers->set_attribute("num", "10"); $txt = $doc->create_text_node("Nick Petrov"); $pers->append_child($txt); $root->append_child($pers); $pers1 = $doc->create_element("person"); $pers1->set_attribute("num", "20"); $txt1 = $doc->create_text_node("Pit Ivanov"); $pers1->append_child($txt1); $root->append_child($pers1); echo "<PRE>", htmlentities($doc->dump_mem(true)),"</PRE>"; ?>  

 (2) <?php $doc = domxml_new_doc("1.0"); $root = $doc->create_element("root"); $pers = $doc->create_element("person"); $pers->set_attribute("num", "10"); $txt = $doc->create_text_node("Nick Petrov"); $root->append_child($pers); $pers1 = $doc->create_element("person"); $pers1->set_attribute("num", "20"); $txt1 = $doc->create_text_node("Pit Ivanov"); $root->append_child($pers1); $doc->append_child($root); echo "<PRE>", htmlentities($doc->dump_mem(true)),"</PRE>"; ?>  

 (3) <?php $doc = domxml_new_doc("1.0"); $root = $doc->create_element("root"); $pers = $doc->create_element("person"); $pers->set_attribute("num", "10"); $txt = $doc->create_text_node("Nick Petrov"); $pers->append_child($txt); $root->append_child($pers); $pers1 = $doc->create_element("person"); $pers1->set_attribute("num", "20"); $txt1 = $doc->create_text_node("Pit Ivanov"); $pers1->append_child($txt1); $root->append_child($pers1); $doc->append_child($root); echo "<PRE>", htmlentities($doc->dump_mem(true)),"</PRE>"; ?>  




Главная / Программирование / Язык программирования PHP / Тест 14