Для получения значения текущего узла используют метод DomNode->node_value() или DomNode->get_content() для получения содержимого узла.
Для получения значения атрибута используется метод DomElement‑>get_attribute(attr_name). А метод DomNode->child_nodes() возвращает массив потомков данного узла.
Для различия объектов по типам, т.е. определения, является ли узел элементом (тегом), текстом, атрибутом и т.п., используют специальные константы. XML_ELEMENT_NODE определяет, является ли узел элементом, XML_ATTRIBUTE_NODE определяет, является ли узел атрибутом, и XML_TEXT_NODE определяет, является ли узел фрагментом текста. Эти константы имеют целочисленные значения 1, 2 и 3 соответственно.
Вначале скопируем описание студента с помощью метода DomNode->clone_node(). Таким образом клонируется элемент <student> и все его внутренние элементы, при этом содержание тегов не копируется.
Далее необходимо установить какие-нибудь значения для элементов описания студента. В конце нужно записать полученное описание студента в качестве потомка корневого элемента в дерево DOM с помощью метода DomNode->append_child(new_node), где в качестве параметра передается созданный объект (новый узел).
Для удаления узла можно воспользоваться методом DomNode->unlink_node(), применив его к узлу, который требуется удалить..