NSXMLParser를 사용하여이 XML을 구문 분석합니다. http://itunes.apple.com/gb/rss/topsongs/limit=50/explicit=true/xml. "im : image"라는 요소를 파싱하려고합니다. 내 문제는 "im : image"라는 이름의 세 가지 요소가 있다는 것입니다. 어떻게하면 두 번째 "im : image"의 데이터 만 구문 분석 할 수 있습니까? 아니면 어떻게 각 단일 배열을 배열에 추가 할 수 있습니까? 맞춤 대리인의 didStartElement
방법에NSXMLParser 세 가지 동일한 요소
답변
, attributes
을 확인하고 60
에 height
세트합니다 ('동일'XML 요소 각각은 서로 다른 높이 특성을 갖는)가 있는지 확인. attributes
은 속성 이름과 속성 값에 대한 키를 포함하는 NSDictionary
입니다. 여기에 약 당신이 그것을 할 것입니다 방법의 예입니다 :
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict {
if ([[attributeDict objectForKey:@"height"] isEqualToString:@"60"]) {
NSLog(@"store");
}
}
이 그것을 할 수있는 가장 좋은 방법은 아닐 것입니다,하지만 이런 일이 나에게 일어 났을 때 나는 단순히 NSInteger
가 counter
라는 만들었습니다. 그렇다면 didStartElement
에서 나는 이것을했다 : (내 경우 두 번째 요소를 찾고 있었다)
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict {
if([elementName isEqualToString:@"yweather:forecast"])
{
int code = [[attributeDict objectForKey:@"code"] intValue];
if (counter == 0) {
}
if (counter == 1) {
conditionCode = code;
}
counter ++;
}
}
이 접근법의 문제점 중 하나는 생성되는 XML 문서가 (어떤 이유로 든) 요소의 순서가 변경되면 다른 결과를 생성한다는 것입니다. 일반적으로 문서를 직접 생성해도 문제가되지 않지만 외부 서비스 (예 : iTunes 데이터)에 액세스 할 때는 위험 할 수 있습니다. –
나는 그것이 최선의 방법이 아니라는 것에 동의하지만, 이봐! 그것은 작동합니다. :) –
- 1. 나는이 세 가지 수업을
- 2. 동일한 가격으로 세 가지 맥주를 판매하는 모든 바를 찾으십시오.
- 3. NSXMLParser, 같은 요소 중 두 가지가 도움이됩니다!
- 4. 그 기준 세 가지 목록
- 5. 레일 내가 세 가지 모델이
- 6. .py와 .exe, 세 가지 질문
- 7. 세 가지 차원 배열 초기화
- 8. 세 가지 값 중에서 선택
- 9. NSXMLParser
- 10. 이 프로그래밍 방식으로 세 가지 방법
- 11. NSXMLParser initWithData
- 12. 세 가지 방법 중 하나는 내가이 사람과 같은 세 가지 방법이 mockito
- 13. NSUserDefaults, 세 가지 옵션이있는 하나의 환경
- 14. TabActivity 통과 엑스트라 내가 세 가지 활동을
- 15. 프롤로그 프로그램 나는 사실의 세 가지 유형이
- 16. MySQL의 세 가지 내가 3 개 테이블이
- 17. 세 가지 웹 플로우 상태를 병렬로 호출해야합니다.
- 18. 세 가지 라인의 UILabel의 텍스트를 표시하려고 Mutliline
- 19. 가야코의 세 가지 설치 패킷의 차이점은 무엇입니까?
- 20. 세 가지 최적화 기법에 대해 혼동 스럽습니다
- 21. 안드로이드에서 세 가지 액티비티 간 묶음
- 22. 어떻게 내가 세 가지 형태가 .... 개요
- 23. OCaml에서 세 가지 fscanf 호출의 차이점은 무엇입니까? .
- 24. 세 가지 상태의 확인란을 모두 선택하십시오
- 25. 세 가지 확인란으로 flex DataGrid를 필터링하는 방법.
- 26. 내가 AJAX 세 가지 호출을 실행하려고했다 위해
- 27. NSXMLParser 열 번호가 잘못되었습니다.
- 28. NSXMLParser 문제 - SeismicXML 샘플
- 29. Fluent NHibernate의 동일한 테이블에서 세 엔티티 매핑
- 30. 여러 NSXMLParser 호출
감사합니다. 그러나 나는 그것을 어떻게 저장할 수 있습니까? – MKDev
원하는대로 보관하십시오. 그것을 배열, 집합, 사전에 추가하십시오. 그것은 당신이 그것을 사용하고있는 것과 당신이 그것을 어떻게 가져 오길 원하는지에 달려 있습니다. –
고마워, 어떻게 발견 된 문자 방법에 있지 않기 때문에이 이미지 URL을 얻을 수 있을까? – MKDev