xmlChildNodes()

Записывает все дочерние узлы указанного узла в параметр ссылки узла.

Краткое описание

int xmlChildNodes(unsigned doc, unsigned node, dyn_uint &nodes);

Параметры

ПараметрЗначение
docИдентификатор документа, возвращаемый, например, xmlNewDocument().
nodeИдентификатор узла.
nodesДочерние узлы (возвращаемый параметр).

Возвращаемое значение

В случае успешной записи 0.
В случае возникновения ошибок функция возвращает -1.

Описание

ПРИМЕР
Этот пример создает документ с помощью xmlNewDocument() и добавляет узлы к документу при помощи xmlAppendChild(). Вывод узлов на печать осуществляется с помощью «xmlChildNodes».

#uses «CtrlXml»
 
main()
{
   dyn_uint nodes;
   string nNameP, nName1,nName2, nName3, nName4, nName5;
   unsigned docNum = xmlNewDocument();
   //Создание нового документа
   xmlAppendChild(docNum, -1, XML_COMMENT_NODE, «my fine new comment»);
//Добавление нового узла
 
   int node = xmlAppendChild(docNum, -1, XML_ELEMENT_NODE, «Parent node»);
//Добавление нового узла
   nNameP = xmlNodeName(docNum, node);
   int PNode = xmlParentNode(docNum, node);
   DebugN(«Parent node:», nNameP);


   xmlAppendChild(docNum,PNode, XML_ELEMENT_NODE, «First element»);
   nName1 = xmlNodeName(docNum, node);
   DebugN(«Node 1:», nName1);
 
   int node2 = xmlAppendChild(docNum, -1, XML_ELEMENT_NODE, «Second element»);
   nName2 = xmlNodeName(docNum, node2);
   DebugN(«Node 2:», nName2);
 
   int j = xmlSetElementAttribute(docNum, node2, «Attribute1», «Example Attribute»);
//Определение нового атрибута
   int node3 = xmlAppendChild(docNum, node2, XML_ELEMENT_NODE, «Third element»);
   nName3 = xmlNodeName(docNum,node3);
   DebugN(«Node 3:», nName3);
 

   int i = xmlSetNodeValue(docNum, nName2, «And a node value»);
//Установка нового значения
   int node4 = xmlAppendChild(docNum, -1, XML_ELEMENT_NODE, «Fourth element»);
   nName4 = xmlNodeName(docNum, node4);
   DebugN(«Node 4:», nName4);

   int node3 = xmlAppendChild(docNum, -1, XML_ELEMENT_NODE, «Fifth element»);
   xmlSetElementAttribute(docNum, node3, «Attribute2», «A second example attribute»);
   int k = xmlChildNodes(docNum, PNode, nodes);
   DebugN(«xmlChildNodes successful:», k, «List of the nodes:», nodes);
//Вывод дочерних узлов на печать
}

Используется для объекта

Расширение XML языка программирования Control

Доступность

В каждом сценарии, в котором используется расширение «CtrlXml» (#uses «CtrlXml»).

См. также

xmlAppendChild()xmlCloseDocument()xmlDocumentFromFile()xmlDocumentFromString()xmlDocumentToFile()xmlDocumentToString()xmlElementAttributes()xmlFirstChild()xmlNewDocument()xmlNextSibling()xmlNodeName()xmlNodeType()xmlNodeValue()xmlParentNode()xmlSetNodeValue()xmlSetElementAttribute()xmlGetElementAttribute()xmlRemoveElementAttribute()xmlRemoveNode()

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *