Новые книги

У первых лиц – генеральных директоров или вице-президентов компаний – нет времени на анализ лишней информации и распутывание витиеватых рассуждений. Их рабочий день расписан поминутно. К сожалению, лишь очень немногие из нас умеют излагать свои мысли так, как того требуют первые лица, – коротко, ясно, "без воды". А ведь от умения правильно выстроить логику своего предложения или структурировать отчет может зависеть успех вашего проекта или даже ваша карьера.

Прочитав эту книгу, вы узнаете о том, каковы особенности первых лиц. Научитесь правильно формулировать цель своего обращения "наверх". Сможете создать структуру документа и написать текст, работающий на достижение этой цели. Вы научитесь писать кратко. И удивитесь тому, как часто ваши отчеты и предложения будут встречать понимание и согласие.
Книга американского специалиста по системному программированию — уникальный сборник задач по программированию из разных областей: моделирования, точности вычислений, обработки текстов, искусственного интеллекта, конструирования компиляторов. Большинство задач базируется на реальных и игровых ситуациях.

Для всех, кто преподает и изучает программирование.

DomNode->append_child

Учебник РНР
Назад Вперёд

DomNode->append_child

(unknown)

DomNode->append_child - добавляет нового потомка/child в конец списка потомков.

Описание

object DomNode->append_child (object newnode)

Эта функция присоединяет потомка к списку потомков или создаёт новый список. Потомок может  быть создан, например, функцией DomDocument_create_element(), DomDocument_create_text() etc. или просто путём использования другого узла.

Перед присоединением потомок сначала дублируется. Следовательно, новый потомок является совершенно новой копией, которая может изменяться без влияния на узел, который был передан этой функции. Если передаваемый узел сам имеет потомков, они также продублируются, что позволяет довольно легко дублировать большие части xml-документа.
return-значение это присоединённый потомок. Если вы планируете в дальнейшем модифицировать присоединённый потомок, вы обязаны использовать возвращаемый узел.

В следующем примере узел нового элемента добавляется в документ, и  атрибут "align" получает значение "left".

Пример 1. Добавление потомка
<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$newnode = $doc->append_child($node);
$newnode->set_attribute("align", "left");
?>

Этот пример можно также записать так:

Пример 2. Добавление потомка
<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$node->set_attribute("align", "left");
$newnode = $doc->append_child($node);
?>

Далее идёт более сложный пример. Сначала ищется определённый элемент, затем он вместе с потомками дублируется и прибавляется как родственник/sibling. Наконец, новый атрибут добавляется к одному из потомков нового родственника и весь документ дампируется.

Пример 3. Добавление потомка
<?php
include("example.inc");

if(!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("informaltable");
print_r($elements);
$element = $elements[0];

$parent = $element->parent_node();
$newnode = $parent->append_child($element);
$children = $newnode->children();
$attr = $children[1]->set_attribute("align", "left");

echo "<PRE>";
$xmlfile = $dom->dump_mem();
echo htmlentities($xmlfile);
echo "</PRE>";
?>

Этот пример может быть сделан также с помощью DomNode_insert_before() вместо DomNode_append_child().

См. также DomNode_insert_before().


Назад Оглавление Вперёд
DomElement->tagname Вверх DomNode->append_sibling