2014-10-13 8 views
0
NSString *xml = @"<?xml version="1.0" encoding="ISO-8859-15"?> 
        <ServerDateTime DateRequested="" DateSent="20141013_114855"> 
        <DateTime>20141013_114857</DateTime> 
        </ServerDateTime>"; 

위의 XML에서 'DataSent'속성 값을 찾는 방법은 무엇입니까?터치 XML에서 루트 노드의 속성을 찾는 방법은 무엇입니까?

나는 다음을 시도했지만 값을 얻지 못했습니다.

CXMLDocument *documentParser = [[CXMLDocument alloc]initWithData:[xml dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil]; 
      NSArray *arrayResult = [documentParser nodesForXPath:@"//ServerDateTime" error:nil]; 
      for(CXMLElement *element in arrayResult){ 
       NSString *value = [element name]; 
       if ([value isEqualToString:@"ServerDateTime"]) { 
        NSString *newLastSyncDate = [[element attributeForName:@"DataSent"] stringValue]; //it gives nil.. 
       } 
      } 

답변

0

XML 내부의 요소를 검색하려면 XPath 쿼리를 사용하는 것이 좋습니다. CXML이이를 지원하는지 살펴 봐야합니다. 어쩌면 this question을 살펴보십시오.

누군가가 XPath 쿼리로 주어진 속성을 검색하고 있습니다.

+0

xml 네임 스페이스를 내 xml에 정의하지 않았습니다. – RamGrg

+0

네, 죄송 합니다만, 네임 스페이스 부분을 의미하지는 않습니다. XPath를 사용하여 쿼리하는 것이 었습니다. 네임 스페이스를 사용하여 쿼리하는 기능이 있기 때문에 XPath 쿼리로 노드를 가져 오는 방법 일 수도 있습니다. – TMob

관련 문제