この XML にはいくつかの ID があり、それぞれにデータがあります。すべての XML を解析しようとしているので、最終的に次のようなオブジェクトを取得します。
A1Object[a1,a1,a1,a1]
A2Object[a2,a2,a2,a2]
問題は、最初に A1、A2 のみを解析することです...
xml:
<response>
<tmm>
<tm id="A1"><DocumentElement>
<cell>
<name>Tom</name>
<lastName>LastNameTom</lastName>
</cell>
<cell>
<name>Tom1</name>
<lastName>LastNameTom1</lastName>
</cell>
</tm>
<tm id="A2">
<cell>
<carType>5</carType>
<catId>4545</carId>
</cell>
<cell>
<carType>6</carType>
<catId>565656</carId>
</cell>
</tm>
<tm id="A3">...</tm>
</tmm>
</response>
私は各オブジェクト(a1、a2 ...)について、彼のフィールドとのインターフェースを持っています
私は次のことを試みています:
if (xmlDocument != nil)
{
NSArray *nodes = [xmlDocument nodesForXPath:@"//cell" error: nil];
if (nodes != nil)
{
for (CXMLNode *node in nodes)
{
A1 *a1Object = [[A1 alloc] init];
for (int i = 0; i < [node childCount]; i++)
{
CXMLNode *child = [node childAtIndex: i];
NSString *str = [child stringValue];
if ([[child name] isEqualToString: @"name"])
{
a1Object.A1FacilityId = ([str length] > 0) ? str : nil;
}
if ([[child name] isEqualToString: @"lastName"])
{
a1Object.A1FacilityStreetName = ([str length] > 0) ? str : nil;
}
}
[self.A1s addObject:a1Object];
[a1Object release];
}
}
}
どうすればそれを改善できるので、最終的には次のようになります。
A1Object[a1,a1,a1,a1]
A2Object[a2,a2,a2,a2