2012-05-14 2 views
0

내 앱은 미리보기 이미지의 RSS 피드에서 문자열을 가져옵니다. 그것은 형식으로 표시NSString 부분 추출

<p><a href="http://316apps.com/LakesideNews/wp-content/uploads/2012/05/144x1443.png"><img class="alignnone size-full wp-image-22" title="144x144" src="http://316apps.com/LakesideNews/wp-content/uploads/2012/05/144x1443.png" alt="" width="144" height="144" /></a></p> 

하이

나는 레이 Wenderlich의 블로그에서 GDATAXML 및 자습서를 사용하여 RSS를 구문 분석하고있다. 이미지의 RSS에 주어진 값에 NSString을 설정합니다. 그런 다음 해당 문자열로 NSLog를 설정합니다. NSLog가 반환하는 것은 원래 게시물에 넣은 것입니다. 하위 문자열을 사용하여 ""사이의 부분 만 가져 오는 방법이 있습니까?

+0

길이 (두 따옴표의 위치)을 결정해야합니다. 또한 "피드"가 잘못된 형식 인 것처럼 보입니다. 은 한 줄로 선언되지만 거기에도 닫는 괄호가 있습니다. 따라서 올바르게 구문 분석하지 못할 수도 있습니다. – CStreel

답변

1

사용 NSRange,하지만 당신은 시작점과 NTTake이 meantioned, 당신이 바로 XML을 구문 분석 할 필요가

[untested code] 

int idStart = 0; 
int idEnd = 0; 

for (int f = 0; f < [initialString length]; f++) { 
    NSRange myRangeStart; 
    myRangeStart.location = f; 
    myRangeStart.length = 1; 
    substr = [urlStr substringWithRange:myRangeStart]; 
    if (idStart == 0) { 
     if ([substr isEqualToString:@"\""]) { 
      idStart = f; 
     } 
    } else { 
     if ([substr isEqualToString:@"\""] && f > idStart) { 
      idEnd = f; 
     } 
    } 
} 


NSString* substring = @""; 
NSRange myRange; 
myRange.location = idStart+1; 
myRange.length = idEnd-idStart-1; 
substring = [initialString substringWithRange:myRange]; 

[/untested code] 
1

Apple 설명서에서 NSXMLParser을 확인하십시오. NSData로 문자열을 사용할 수 있어야하고 그 객체와 함께 구문 분석 할 수 있어야합니다.

+0

나는 Ray Wenderlich의 블로그에서 GDATAXML 및 자습서를 사용하여 구문 분석하고 있습니다. 이미지의 RSS에 주어진 값에 NSString을 설정합니다. 그런 다음 해당 문자열로 NSLog를 설정합니다. NSLog가 반환하는 것은 원래 게시물에 넣은 것입니다. 하위 문자열을 사용하여 ""사이의 부분 만 가져 오는 방법이 있습니까? – user717452

+0

당신은 이미 그렇게 말했습니다. –

+0

XML을 파싱 중이므로 파싱 할 필요가 없으므로 필자는이 말을해야한다고 생각했습니다. – user717452

관련 문제