0

XMLURLからRSSでファイルを解析しています。にはXML、説明としてタグがあります。

<description>
<![CDATA[
<img width="150" height="150" src="http://www.ipadia.co/wp-content/uploads/2012/02/sayfada-bul-150x150.png" class="attachment-thumbnail wp-post-image" alt="sayfada bul" title="sayfada bul" />Yine çok kişinin dikkatinden kaçan ama faydalı bir araç Bulunduğunuz sayfada arama yapmak bazen çok gerekli olabiliyor Bunun için google arama tabınıkullanacağız Google aramatab ına tıklayin Resimdeki gibi Arama listesinin sonunda bu sayfada bul çıkacak Arama yapmak istediğiniz kelimeyi yazın &#8230; <a href="http://www.ipadia.co/bulundugunuz-sayfada-arama-yapmak/">Continue reading <span class="meta-nav">&#8594;</span></a>
]]>
</description>

このコードを として使用していますNSString。ご覧のとおり、description タグの先頭に画像リンクがあります。この文字列から画像リンクを取得したいと思います。しかし、これを解析すると、HTML コードではなく、テキストだけが表示されます。これを で書くとNSLog、画像のリンクが見えません。要するに、Xcode文字列内の HTML コードを教えてくれません。

UIWebView画像を表示できると仮定して、このコードを読み込もうとしました。しかし、画像は WebView でも表示されませんでした。テキストだけが表示されました。

ブラウザで RSS を見ると、画像コードが表示されますが、Xcode では HTML コードが表示されず、プレーン テキストのみが表示されます。どうすればこの問題を解決できますか?

どうもありがとうございました。

編集:問題が発生する可能性があると思いますCDATA。それをどうやって挑戦できるか。

これらは私のXMLParser方法です。

    -(void) parser: (NSXMLParser *) parser didStartElement: (NSString *) elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict

{


    if([elementName isEqualToString:@"channel"])
        if (!ItemA)
        {
            ItemA = [[NSMutableArray alloc] init];
        }



    if([elementName isEqualToString:@"item"]){
        // NSLog(@"ITEM OLUŞTURULDU.");
        anItem= [[Item alloc] init];
    }

}

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{

    if (!currentElementValue)

        currentElementValue = [[NSMutableString alloc] initWithString:string];

    else

        [currentElementValue appendString:string];

    // NSLog(@"PRCOSSING VALUE :%@", currentElementValue);
}


-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{


    if([elementName isEqualToString:@"channel"])
        return;

    if ([elementName isEqualToString:@"item"])
    {
        // NSLog(@"qqqqqq:%@", anItem.title);


        [ItemA addObject:anItem];

        counter++;

        // NSLog(@"kkk:%i", ItemA.count);
        // NSLog(@" -*-*-*-*-* COUNTER: %d",counter);
        anItem = nil;
        return;
    }
    if ([elementName isEqualToString:@"title"])
    {
        anItem.title=currentElementValue;
        // NSLog(@"kkk-title:%@", anItem.title);
    }
    if ([elementName isEqualToString:@"description"])
    {
        anItem.description=currentElementValue;
        // NSLog(@"kkkkkk-desc:%@", anItem.description);
    }
    if ([elementName isEqualToString:@"link"])
    {
        anItem.link=currentElementValue;
        // NSLog(@"kkkkkk-link:%@", anItem.link);
    }
    if ([elementName isEqualToString:@"pubDate"])
    {

        anItem.pubDate=currentElementValue;
        // NSLog(@"kkkkkk-pubdate:%@", anItem.pubDate);
    }
    if ([elementName isEqualToString:@"category"])
    {

        anItem.category=currentElementValue;
        // NSLog(@"kkkkkk-category:%@", anItem.category);
    }


    currentElementValue = nil;
}
4

0 に答える 0