我正在尝试使用一个或多个NSObject的属性动态生成一个XML-String。
我正在使用WonderXML,但我不明白我如何调整WonderXML产生的XML-Strings的结构。
到目前为止,这是我的代码:
对象
@interface Getraenke_Object : NSObject {
@protected
NSString *item_id;
NSString *menge;
NSString *categorie;
NSString *name;
NSString *preis;
NSString *image;
}
@property (nonatomic, copy) NSString *item_id;
@property (nonatomic, copy) NSString *menge;
@property (nonatomic, copy) NSString *categorie;
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *preis;
@property (nonatomic, copy) NSString *image;
@end
M文件:
//-----------------Converting the Objects to XML-Strings--------------
XmlParser *parser = [[XmlParser alloc] init];
NSString *meinXmlString;
for(int i=0; i<getraenkeArray.count; i++)
{
meinXmlString = [parser toXml:[getraenkeArray objectAtIndex:i] andTag:@"Getraenk" inNameSpace:@"table_info"];
}
NSLog(@"meinXmlString: %@\n", meinXmlString);
这就是meinXmlString的样子:
meinXmlString:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Getraenke_Object xmlns="table_info"><name>Chateau_d_Angludet</name>
<menge>1</menge><preis>119</preis><image>Rotwein.png</image>
<categorie>getraenke</categorie><item_id>101</item_id>
</Getraenke_Object>
但它应该如下所示:
testXML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Table_info><table_id>1</table_id><action_id>3</action_id><Bestellliste>
<item><categorie>getraenke</categorie><item_id>100</item_id><menge>1</menge></item>
<item><categorie>getraenke</categorie><item_id>2</item_id><menge>1</menge></item>
</Bestellliste></Table_info>
我希望我的问题可以理解。 谢谢!
答案 0 :(得分:0)
您为每个对象创建一个XML字符串,最后只保留最后一个。
WonderXML似乎是根据您传入的对象中的属性及其名称自动创建XML文档。
由于您希望XML包含数组中的所有对象,因此请尝试将整个数组传递给parser toXml
的单个调用。你不想要循环。
当然,自己创建XML可能更容易。只需创建一个NSMutableString
并添加所需的标记文本。