bool vfs::PropertyContainer::writeToXMLFile(vfs::Path const& sFileName, vfs::PropertyContainer::TagMap& tagmap) { XMLWriter xmlw; xmlw.openNode(tagmap.container()); tSections::iterator sit = m_mapProps.begin(); for(; sit != m_mapProps.end(); ++sit) { xmlw.addAttributeToNextValue(tagmap.sectionID(),sit->first.utf8()); xmlw.openNode(tagmap.section()); vfs::PropertyContainer::Section& section = sit->second; vfs::PropertyContainer::Section::tProps::iterator kit = section.mapProps.begin(); for(; kit != section.mapProps.end(); ++kit) { xmlw.addAttributeToNextValue(tagmap.keyID(), kit->first.utf8()); xmlw.addValue(tagmap.key(), kit->second.utf8()); } xmlw.closeNode(); } xmlw.closeNode(); return xmlw.writeToFile(sFileName); }
void testMXLWriter() { //XMLWriter<char> xmlw; XMLWriter xmlw; //xmlw.openNode(L"root"); xmlw.openNode("root"); xmlw.addAttributeToNextValue("attr1",10); xmlw.addAttributeToNextValue("attr2","string"); //xmlw.AddValue(L"val1",10); xmlw.addValue("val1",10); xmlw.addAttributeToNextValue("node_attr",17); xmlw.addComment("bbb -->\n <a> comment</a> <!-- aaa"); xmlw.openNode("test"); //xmlw.addValue(L"val2",10.5); xmlw.addValue("val2",10.5); xmlw.closeNode(); xmlw.closeNode(); //xmlw.WriteToFile(WideString("xml_output/test.xml")()); xmlw.writeToFile("xml_output/test.xml"); }