如何获得此<firstName>
和<lastName>
。我已经尝试了很多,但我搞砸了。
<list>
<OrderData HASH="1843180441">
<id>26</id><customer>
<CustomerData HASH="882063912">
<id>1</id>
<sex>Male</sex>
<firstName>admin</firstName>
<lastName>admin</lastName>
<companyName>Individual</companyName>
<userName>admin</userName>
<password>21232f297a57a5a743894a0e4a801fc3</password>
<lastLogin>2012-01-26T12:11:38</lastLogin>
<status>A</status>
<created>2011-09-28T07:01:47</created>
<modified>2012-01-26T12:11:38</modified>
<canChangePassword>Y</canChangePassword>
<isDeleted>false</isDeleted>
<abn/>
<abnBranch/>
<storeCredit>50000.0</storeCredit>
<billingAddress>
<list>
<AddressData HASH="768553743">
<id>2</id>
<firstName>admin</firstName>
<lastName>admin</lastName>
<addressLine1>suite: 1307, 9 Yara Street</addressLine1>
<addressLine2>dgdgdf</addressLine2>
<postCode>3000</postCode>
<suburb>dfgdfg</suburb>
<city>sadf</city>
<phone>4456</phone>
<mobile/>
<fax/>
<active>true</active>
<type>C</type>
<email>afzal.bitmascot@gmail.com</email>
<log/>
</AddressData>
</deliveryAddress>
<purchaseDate>2011-10-03T03:23:48</purchaseDate>
</OrderData>
<OrderData HASH="1569451006"></OrderData>
<OrderData HASH="1449383081"></OrderData>
<OrderData HASH="1438157618"></OrderData>
<OrderData HASH="269308788"></OrderData>
</list>
直到现在我已经做到了。
NSLog(@"Enering in the xml file");
NSArray *getNumberOfOrder = [[xmlDocument rootElement] elementsForName:@"OrderData"];
for(GDataXMLElement *e in getNumberOfOrder){
for(int i =0;i<[[e elementsForName:@"customer"]count];i++){
// All orderd customer name
NSString *orderByFirstString = [[[[e elementsForName:@"customer"] objectAtIndex:0] childAtIndex:2] stringValue];
NSString *orderByLastString = [[[[e elementsForName:@"customer"] objectAtIndex:0] childAtIndex:3]stringValue];
orderByString = [NSString stringWithFormat:@"%@ %@",orderByFirstString,orderByLastString];
NSLog(@"order By String: %@",orderByString);
}
}
对任何帮助或建议都表示诚挚的感谢。
答案 0 :(得分:2)
我会尝试这样的事情。我会遍历XML文档,并将其存储在数组中。
注意NSLog()将打印到控制台,并帮助您查看正在发生的事情。
xmlDocument = [[GDataXMLDocument alloc]initWithData:xmlData options:0 error:nil];
NSArray *temp = [xmlDocument.rootElement elementsForName:@"OrderData"];
for(GDataXMLElement *e in temp) {
[outputArray addObject:e];
NSLog(@"%@", e);
}
然后我会循环遍历数组,并在我想要检索客户名字等结果时执行类似的操作。
for (int i = 0; i < [outputArray count]; i++) {
NSString *firstName = [[[[[[[[outputArray objectAtIndex:i]elementsForName:@"customer"] objectAtIndex:0] elementsForName:@"CustomerData"] objectAtIndex:0] childAtIndex:2]stringValue];
}