2012-10-08 5 views
0

을 구문 분석이 내 단순화 된 XML 문자열 :복잡한 XML 문자열 (RXML)

RXMLElement *rxmlRoot = [RXMLElement elementFromURL:[NSURL URLWithString:@"MY_XML_URL]]; 
    RXMLElement *firstLevel = [rxmlRoot child:@"channel"]; 
    NSArray *secondLevel = [firstLevel children:@"item"]; 
    [rxmlRoot iterateElements:secondLevel usingBlock:^(RXMLElement *appElement) { 
     NSString *description = [appElement child:@"description"].text; 

그리고 완벽한이 RXML 코드와

<rss> 
<channel> 
    <item> 
    <title>ITEM TITLE</title> 
    <description> 
    &lt;i&gt;Att1 &lt;/i&gt;10, &lt;i&gt;Att2 &lt;/i&gt;20, &lt;i&gt;Att3 &lt;/i&gt;30 
    </description> 
    </item> 
    <item> 
    ... 
    </item> 
    ... 
</channel> 
</rss> 

나는 전체 < 설명> 태그를 구문 분석 할 수 있습니다! 구문 분석 * 설명 문자열은 "< I> Att1 </I> (10), < I> ATT2 </I> (20), < I> Att3 </I> 30"

하지만 별도의 값을 구문 분석 할 Att1, Att2 및 Att3; 같은 태그에서 불필요하게 10, 20, 30의 단일 값을 추정해야합니다. 있을 수있다? RXML 또는 Xcode 용 다른 XML 파서를 사용하여이를 수행하는 방법이 있습니까? 감사!

답변

1

나는 과거에이를 제거하기 위해 결과에 정규식을 실행했습니다.

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"< i>Att[0-9]< /i>" 
                     options:NSRegularExpressionCaseInsensitive 
                     error:nil]; 

[regex replaceMatchesInString:description 
         options:0 
         range:NSMakeRange(0, description.length) 
       withTemplate:@""]; 

데이터가 동일한 형식이 아닌 경우 html 태그를 제거 할 수있는 라이브러리도 있습니다.

+0

감사합니다. Nick, 다른 작은 문제가 있습니다. 그러나 확실히 이것은 유사한 데이터를 구문 분석하기위한 좋은 출발점입니다! – Huxley