моя цель - проанализировать этот XML-документ https://api.eveonline.com/eve/SkillTree.xml.aspx и, в конечном итоге, включить его в основные данные.
но фрагмент, с которым у меня проблемы,
<rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
<row typeID="13279" skillLevel="3" />
<row typeID="3402" skillLevel="4" />
</rowset>
проблема, с которой я столкнулся, заключается в том, чтобы выяснить, как сохранить вместе typeID и skillLevel для сохранения в nsdictionary.
Таким образом, цель состоит в том, чтобы поместить каждый <row typeID="13279" skillLevel="3" />
в свой собственный объект.
основной код, который я использую,
-(void)parseXMLFromBundle
{
NSError *error;
NSString *path = [[NSBundle mainBundle] pathForResource:@"SkillTree" ofType:@"xml"];
DDXMLDocument *xmlDoc = [[DDXMLDocument alloc] initWithData:[NSData dataWithContentsOfFile:path] options:0 error:&error];
//main array with everything
NSArray *xmlItems = [xmlDoc nodesForXPath:@"//result" error:&error];
//go through it to extract each thing
for (DDXMLElement *itemElement in xmlItems)
{
self.typeArray = [itemElement nodesForXPath:@"//@typeName" error:&error];
self.requiredIDArray = [itemElement nodesForXPath:@"//row[@typeID]/@typeID" error:&error];
DLog(@"required SkillID: %@",self.requiredIDArray);
}
TypeName работает нормально, каждый объект, который я хочу, имеет только 1 имя, но он может иметь несколько идентификаторов типа, поэтому я пытаюсь сгруппировать эти значения в 1 объект, чтобы в конечном итоге я мог импортировать все это в основные данные. Я знаю, что идентификаторы типов также просто сбрасываются в массив. Я просто потерялся в том, как лучше отделить вещи по элементарной строке.
Спасибо.