Senthil Nathan wrote: > 1. Suppose if I have a pointer xmlDoc *doc1 to a DOM tree, built using > xmlReadFile( ) or xmlParseFile( ) for file1.xml. > Is it possible to add another DOM tree to this existing tree? > Like, if *doc2 points to another DOM tree of file2.xml, can this be > appended to the *doc1.
Have a look at the tree module API documentation xmlNodePtr xmlDocCopyNode(const xmlNodePtr node, xmlDocPtr doc, int extended) http://www.xmlsoft.org/html/libxml-tree.html#xmlDocCopyNode You can then append the node to its new parent in doc1 with xmlAddChild http://www.xmlsoft.org/html/libxml-tree.html#xmlAddChild > 2. Using xmlXPathEvalExpression( ), I could search for a tree structure > exists in the DOM tree or not. > But how do I find that is the leaf node. > > <node> > <n1>a</n1> > <n11>abc</n11> > <n2>b</n2> > </node> With leaf node I assume you mean an element node that has only text or attribute children but no other element children. A way of doing this in XPath is like this: //*[count(./*)=0] Which reads a select all elements E such that the count of element children of E is zero. You can also traverse the tree with the tree api and check whether a node has no children of node-type element, but I find using XPath much more convenient HTH Lars. -- Sun Microsystems Lars Oppermann <[EMAIL PROTECTED]> Nagelsweg 55 Software Engineer 20097 Hamburg, Germany Phone: +49 40 23646 959 http://www.sun.com/ Fax: +49 40 23646 550 ----------------------------------------------------------------------- Sitz der Gesellschaft: Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten, Amtsgericht Muenchen: HRB 161028 Geschaeftsfuehrer: Wolfgang Engels, Dr. Roland Boemer Vorsitzender des Aufsichtsrates: Martin Haering _______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] http://mail.gnome.org/mailman/listinfo/xml
