0

1 つまたは複数の NSObject の属性を持つ単一の XML 文字列を動的に生成しようとしています。

WonderXML を使用していますが、WonderXML が生成する XML 文字列の構造を調整する方法がわかりません。

これまでの私のコードは次のとおりです。

物体:

@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>

私の問題を理解できるように説明できれば幸いです。ありがとう!

4

1 に答える 1

0

オブジェクトごとに XML 文字列を作成し、最終的に最後のものだけを保持することになります。

WonderXML は、渡されたオブジェクトのプロパティとその名前に基づいて XML ドキュメントを自動的に作成しているようです。

XML に配列内のすべてのオブジェクトを含めたいように見えるので、配列全体を への 1 回の呼び出しに渡してみてくださいparser toXml。ループは必要ありません。

もちろん、XML を自分で作成する方が簡単な場合もあります。を作成し、NSMutableString必要なタグのテキストを追加するだけです。

于 2013-03-21T17:40:36.073 に答える