Так как Google Doc больше не доступен, я заблудился с этими понятиями.
Что такое узел и что такое элемент (который наследует узел)?
Как я могу переключаться с узлов на элементы. Я имею в виду, например, если я напишу:
NSError* error;
NSData* xmlData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"ForTesting" ofType:@"xml"]];
error = nil;
GDataXMLDocument* XMLDoc = [[[GDataXMLDocument alloc] initWithData:xmlData options:0 error:&error] autorelease];
if (XMLDoc == nil) {
NSLog(@"%@", error.description);
return;
}
GDataXMLNode* xmlElement = [[XMLDoc nodesForXPath:@"//root/fileVersion" error:nil] objectAtIndex:0];
NSString* fileVersion = xmlElement.stringValue;
GDataXMLNode* xmlList = [[XMLDoc nodesForXPath:@"//root/list" error:nil] objectAtIndex:0]; // single item
После этого кода, как я могу написать что-то подобное для переключения на GDataXMLElement вместо продолжения с GDataXMLNode, что потребует от меня продолжения использования XPath (я не хочу использовать его после этой точки):
// code don't work : elementsForName is not defined for GDataXMLNode
for (GDataXMLElement* xmlObject in [xmlList elementsForName:@"object"]) {
MyClass* obj = [[[MyClass alloc] initWithXMLElement:xmlObject] autorelease];
}