c++ - Parsing XML files: Root Nodes has no child nodes -


i never worked xml , xml parsers , wanted parse collada document model animation opengl.

i using tinyxml2 parser , seems doing wrong that.

xmldocument _doc; _doc.loadfile(path.c_str());  xmlnode* proot = _doc.firstchild();  xmlnode* pelement =  proot->firstchildelement("library_geometries"); 

i working xcode , in debugging mode can see, pelement null proot has got no child nodes.

in tinyxml2 node, not elements. _doc.firstchild() unhelpful it's taking node before <collada> element (probably attribute in xml header). want first child element in document, i.e. <collada> followed first <library_geometries> element below it. try this:

#include "tinyxml2.h" using namespace tinyxml2; int main() {    xmldocument doc;    doc.loadfile ("collada.xml");     auto colladaelement = doc .firstchildelement();    auto lib_geomelement = colladaelement -> firstchildelement("library_geometries");     return 0; } 

and, if want more of c++11/14 experience try tinyxml2 extension reduces above to:

#include "tixml2ex.h" int main() {    tinyxml2::xmldocument doc;    doc.loadfile ("collada.xml");    auto lib_geomelement = find_element (doc, "collada/library_geometries");     return 0; } 

Comments

Popular posts from this blog

How to understand 2 main() functions after using uftrace to profile the C++ program? -

c# - Update a combobox from a presenter (MVP) -

How to put a lock and transaction on table using spring 4 or above using jdbcTemplate and annotations like @Transactional? -