Я новичок в XML
, и у меня есть эта информация:
box1 -> name, colour, from
box2 -> name, weight
box3 -> name, colour, from, weight
и я хочу сделать один XML
файл следующим образом:
<boxName>name1
<boxColour>colour1</boxColour>
<boxFrom>from1</boxFrom>
</boxName>
<boxName>name2
<boxColour>colour2</boxColour>
<boxWeight>weight2</boxWeight>
</boxName>
<boxName>name3
<boxColour>colour3</boxColour>
<boxFrom>from3</boxFrom>
<boxWeight>weight3</boxWeight>
</boxName>
Я создал свой XML
, используя TinyXml
в такой форме:
TiXmlDocument doc;
TiXmlDeclaration* decl = new TiXmlDeclaration("1.0", "utf-8", "");
doc.LinkEndChild( decl );
TiXmlElement* element = new TiXmlElement("boxName");
doc.LinkEndChild(element);
TiXmlText* text = new TiXmlText("name1");
element->LinkEndChild(text);
TiXmlElement* element2 = new TiXmlElement("boxColour");
TiXmlElement* element3 = new TiXmlElement("boxFrom");
TiXmlText* text2 = new TiXmlText("colour1");
TiXmlText* text3 = new TiXmlText(from1);
element->LinkEndChild(element2);
element->LinkEndChild(element3);
element2->LinkEndChild(text2);
element3->LinkEndChild(text3);
doc.SaveFile( "XML.xml" );
но проблема в том, что количество ящиков неизвестно, и каждый ящик может иметь 1,2,3 или более дочерних элементов, но формат для каждого поля и его информация такие же (как указано выше)
пожалуйста, помогите мне сделать файл XML
Я кодирую на C / API
Спасибо
Обновлять:
Я могу использовать for loop
только в такой форме:
for(int i=0; i<3; i++)
{
TiXmlElement* element2 = new TiXmlElement("element");
TiXmlText* text2 = new TiXmlText("text");
element->LinkEndChild(element2);
element2->LinkEndChild(text2);
}
1: Я не могу сказать If one box have weight then use <boxWeight> tag and add <boxWeight>weight2</boxWeight> if not don't have <boxWeight></boxWeight> tag
2: У меня есть поля с информацией в буфере в такой форме:
box1 name:name1 coloure: coloure1 from: from1
Я не знаю, как разделить информацию (C / API)
How to create a XML file with the default format
/ что мне делать, чтобы решить мою проблему, у меня есть несколько ящиков, и я не знаю, сколько ящиков может быть, и я хочу сделать для них XML-файл - person roulibic   schedule 06.05.2015for
? - person ceving   schedule 06.05.2015If the box have weight then <boxWeight>weight2</boxWeight> if not don't have this tag <boxWeight></boxWeight>
- person roulibic   schedule 07.05.2015if
. 2. узнайте, как разбирать строки C. - person Lydia Ralph   schedule 07.05.2015