0

我正在XML使用来自 URL 的 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. 如您所见,描述标签的开头有一个图片链接。我想从此字符串中获取图像链接。但是当我解析这个时,它只给我文本,而不是 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