Я использую мини-XML для создания файла XML.
Мой формат следующий.
<?xml version='1.0' encoding='ISO-8859-1'?>
<?xml-stylesheet type='text/xsl' href='image_metadata_stylesheet.xsl'?>
<dataset>
<name>imglab dataset</name>
<comment>Created by imglab tool.</comment>
<images>
<image file='train/10.png'>
<box top='154' left='450' width='56' height='155'/>
</image>
<image file='train/1051.png'>
<box top='132' left='484' width='40' height='116'/>
<box top='97' left='452' width='40' height='105'/>
<box top='147' left='398' width='50' height='133'/>
</image>
</images>
</dataset>
Мне нравится записывать эти данные в XML-файл.
Я искал образцы, но не легко найти.
Я могу создать следующие элементы.
FILE *fp;
mxml_node_t *tree;
fp = fopen("filename.xml", "w");
if(fp==NULL){
cout << "Error in xml file!" << endl;
exit(1);
}
mxml_node_t *xml; /* <?xml ... ?> */
mxml_node_t *dataset; /* <data> */
mxml_node_t *images; /* <data> */
mxml_node_t *box; /* <node> */
mxml_node_t *image; /* <group> */
xml = mxmlNewXML("1.0");
dataset = mxmlNewElement(xml, "dataset");
images = mxmlNewElement(dataset, "images");
image = mxmlNewElement(images, "image");
box = mxmlNewElement(image, "box");
Но фактическая запись в файл XML, понятия не имею, как записать в файл XML.
Можно привести пример использования mini-xml для создания XML-файла на языке c / c ++.
Спасибо
Глядя на документация в Сохранение XML Абзац кажется довольно очевидным:
FILE *fp;
mxml_node_t *tree;
fp = fopen("filename.xml", "w");
mxmlSaveFile(tree, fp, MXML_NO_CALLBACK);
fclose(fp);
Если вы можете, я предлагаю вам использовать другую библиотеку C ++ xml (например, pugyxml, tinyxml и другие). Ваша библиотека чувствует себя старой, не очень C ++, и просто поддерживается для ошибок.
Других решений пока нет …