<book>
<index num="1">
<item key="0" xPos="100" yPos="214"/>
<item key="14" xPos="100" yPos="250"/>
<item key="28" xPos="100" yPos="286"/>
</index>
<index num="2">
<item key="146" xPos="100" yPos="134"/>
<item key="149" xPos="100" yPos="170"/>
</index>
<index num="3">
<item key="234" xPos="100" yPos="134"/>
</index>
kissXML разбор файла XML в виде дерева
я хочу использовать kissXML разобрать этот файл,
т.е..
, если Num = 1 только разобрать ключ = 0,14,28 и поместить их в NSArray keyArray
, если Num = 2 только разобрать ключ = 146,149 и поместить их в NSArray keyArray
мой код:
NSString *filePath = [[NSBundle mainBundle]pathForResource:@"data" ofType:@"xml"];
NSError* error = nil;
NSString *xmlString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];
DDXMLDocument *xmlDoc = [[DDXMLDocument alloc]initWithXMLString:xmlString options:0 error:&error];
if (error) {
NSLog(@"%@",[error localizedDescription]);
}
xmlString = nil;
NSArray* resultNodes_1 = nil;
resultNodes_1 = [xmlDoc nodesForXPath:@"//index" error:&error];
NSArray* resultNodes = nil;
resultNodes = [xmlDoc nodesForXPath:@"//item" error:&error];
for(DDXMLElement* resultElement_1 in resultNodes_1)
{
NSString* keyVal_1 = [[resultElement_1 attributeForName:@"num"] stringValue];
NSMutableArray *key_1 = [[NSMutableArray alloc]init];
[key_1 addObject:keyVal_1];
[resultElement_1 childCount];
// NSLog (@ "index:% d", [resultElement_1 childCount]); если ([keyVal_1 IsEqual: @ "1"]) {
for(DDXMLElement* resultElement in resultNodes)
{
NSString* keyVal = [[resultElement attributeForName:@"key"] stringValue];
NSMutableArray *keyArray = [[NSMutableArray alloc]init];
[keyArray addObject:keyVal];
NSString* xPosVal = [[resultElement attributeForName:@"xPos"] stringValue];
NSMutableArray *xPosArray = [[NSMutableArray alloc]init];
[xPosArray addObject:xPosVal];
NSString* yPosVal = [[resultElement attributeForName:@"yPos"] stringValue];
NSMutableArray *yPosArray = [[NSMutableArray alloc]init];
[yPosArray addObject:yPosVal];
NSLog(@"key的值为:%@",keyVal);
}
}
}
из моего кода я хочу, чтобы результат был ключ ---- 0,14,28
но результат: кнопочная --- 0,14,28,146,149,234 печать все значения ключа
помочь мне, вписатьтся
Для того, что вы описываете, вы хотите, что SAX-парсер представляется более подходящим (NSXMLParser). У вас есть причина использовать XPath? – Wain