2011-07-30 7 views
0

GdataXML에서는 XML 루트에서 nodesforXpath 만 사용할 수 있습니다.하지만 일단 추론하면이 노드의 나머지 부분에 Xpath를 적용하고 싶지만 전체 DOM 트리는 적용 할 수 없습니다. ?iPhone에서 Xpath 문제가 발생했습니다.

아래의 예제는 for 루프에서 잘못 작동하지만 DOM에서 모든 varibles를 가져 오지만 일단 variableElement가 있으면 DOM 전체가 아닌 variableElement에서만 작업하고 싶습니다.

NSArray *inferenceMembers = [doc nodesForXPath:@"//inferenceresponse/state/variable[not(valuedefinition/variablevalue)]" error:nil]; 

for (GDataXMLElement *variableElement in inferenceMembers) { 
Variable *variable=[[Variable alloc] init]; 
NSArray *items = [variableElement nodesForXPath:@"//variable/domaindefinition/domain/enumType/domainitem" error:nil];   
} 

가 할 어렵습니다,하지만 난 같은 요소의 아이들마다 도달하는 전체 XML로 쿼리를 XPATH 경우가 느린 것 같아요 때문에이하지 원하는 이유. 내가 네임 스페이스와 NSDictionary에 몇 가지 마술을 할 수 있지만

답변

1

이 시도하는 방법을 모르는 읽고 :

NSArray *inferenceMembers = [doc nodesForXPath:@"//inferenceresponse/state/variable[not(valuedefinition/variablevalue)]" error:nil]; 

for (GDataXMLElement *variableElement in inferenceMembers) { 
Variable *variable=[[Variable alloc] init]; 
NSArray *items = [variableElement nodesForXPath:@"domaindefinition/domain/enumType/domainitem" error:nil];   
} 

완전히 도움이 할 수 XML 구조를 참조하는 것이 유용 할 것 .

+0

tnx는 효과가 있었지만 변수가 아닌 domaindefinition으로 시작해야했습니다. – Spring

관련 문제