我正在使用来自URL的RSS解析XML
文件。在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 … <a href="http://www.ipadia.co/bulundugunuz-sayfada-arama-yapmak/">Continue reading <span class="meta-nav">→</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;
}