Advertisement

TinyXML2 help on loading simple .xml files

Started by July 30, 2012 12:56 AM
1 comment, last by MARS_999 12 years, 4 months ago
I am trying to load this .xml file

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<resource UID ="1" type="graphic" filename="mypng.png" scenescope="0"> </resource>
</resources>


with this code but the first loop after if(tree) is skipped and thinking something with the method I am trying to read from the XMLDocument is worng...



int LoadXMLFile(const std::string& file)
{
tinyxml2::XMLDocument doc;
doc.LoadFile(file.c_str());
tinyxml2::XMLNode* tree = doc.FirstChild();
if(tree)
{
for(tinyxml2::XMLNode* child = tree->FirstChild(); child; child = child->Parent()->NextSibling())
{
tinyxml2::XMLElement* element = child->Parent()->ToElement();
if(element)
{
for(const tinyxml2::XMLAttribute* attribute = element->FirstAttribute();
attribute;
attribute = attribute->Next())
{
std::string attribName = attribute->Name();
std::string attribValue = attribute->Value();
std::cout << attribName << ", " << attribValue << std::endl;
}
}
}
}
else
std::cout << "Error\n";

return doc.ErrorID();
}
I would leave the parent out:
[source lang="cpp"] for(tinyxml2::XMLNode* child = tree->FirstChild(); child; child = child->NextSibling())
{
tinyxml2::XMLElement* element = child->ToElement();
[/source]
Advertisement
Nope still doesn't work, tried that first and no luck... :(

This topic is closed to new replies.

Advertisement