Новые книги

Раскрывается сущность сетевого принципа организации розничной торговли как фактора повышения конкурентоспособности бизнеса, история развития сетевой торговли в развитых странах и в России, построение розничных торговых сетей, организация управления, а также специфика формирования и управления ассортиментом, организации коммерческой работы и управления персоналом в торговых сетях.

Для студентов торговых специальностей, а также для практических работников отрасли торговли.
Вы хотите создать собственный сайт на просторах Интернета? Причем желательно, чтобы он был красивым, удобным и «неглючным»? Казалось бы, чего проще: существует столько программ – конструкторов сайтов. Однако чтобы создать действительно профессиональный сайт, подобных утилит недостаточно. Вам потребуется знание языков программирования HTML и XHTML, а также каскадных таблиц стилей CSS. И в этом случае книга, которую вы держите в руках, – именно то, что вам необходимо. С ее помощью вы научитесь создавать красиво оформленные, быстрые и профессиональные сайты. С этой книгой ваша страничка никогда не останется незамеченной в Сети!

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