Добавление новых элементов в XML-документ

Вначале скопируем описание студента с помощью метода DomNode->clone_node(). Таким образом клонируется элемент <student> и все его внутренние элементы, при этом содержание тегов не копируется.

Далее необходимо установить какие-нибудь значения для элементов описания студента. В конце нужно записать полученное описание студента в качестве потомка корневого элемента в дерево DOM с помощью метода DomNode->append_child(new_node), где в качестве параметра передается созданный объект (новый узел).

Для удаления узла можно воспользоваться методом DomNode->unlink_node(), применив его к узлу, который требуется удалить..

// который содержит описание студента

$elements = $dom->get_elements_by_tagname("student");

$element = $elements[0];

//вычисляем родителя и потомков

$parent = $element->parent_node();

$children = $element->child_nodes();

// клонируем элемент student

$student = $element->clone_node();

// устанавливаем идентификатор

$attr = $student->set_attribute("id", "30");

foreach ($children as $child){

$node = $child->clone_node();

$grand_children = $child->child_nodes();

if (count($grand_children)<>1){

foreach($grand_children as $grand_child){

$lastnode = $grand_child->clone_node();

if ($grand_child->tagname=="first")

$cont = $lastnode->set_content("Nina");

if ($grand_child->tagname=="last")

$cont = $lastnode->set_content("Saveljeva");

if ($grand_child->tagname=="day")

$cont = $lastnode->set_content("7");

if ($grand_child->tagname=="month")

$cont = $lastnode->set_content("06");

if ($grand_child->tagname=="year")

$cont = $lastnode->set_content("1981");

$newlastnode = $node->append_child($lastnode);

}

}

if ($child->tagname=="email") {

$cont = $node->set_content("help@intuit.ru");

}

$newnode2 = $student->append_child($node);

}

$newnode = $parent->append_child($student);

echo "<PRE>";

$xmlfile = $dom->dump_mem(true);

echo htmlentities($xmlfile);

echo "</PRE>";

// запишем полученный XML-файл в файл "test.xml"

$h = fopen("test.xml","a");

if (!fwrite($h, $xmlfile)) {

print "Cannot write " . "to file ($filename)";

exit;

}

}








Дата добавления: 2015-08-26; просмотров: 655;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.