ios rss解析<content>标签</content>中的html内容

时间:2013-10-31 09:43:20

标签: ios xml-parsing rss

尝试使用NSXMLPARSER解析RSS源。我得到的标题,图片,pubDate每件事,但问题是内容标签。这里的内容标签有来自rss的html内容。那么如何将内容标记内的所有数据与html一起获取。我的数据如下。

    <content><p>(مستعمل )<br />
•مرسيدس بانورما<br />
•   موديل 2008<br />
•   محرك 6 سلندر 3.5 لتر<br />
•   جيراتوماتيك<br />
•   العداد 107.000كلم<br />
•   مقاعد جلد جملي<br />
•   وسائد هوائية<br />
•   جنوط amg<br />
•   اللون لؤلؤي<br />
السياره فل كامل &#8211; سقف بانورما &#8211; رؤيه ليله &#8211; نافيشين سستم gps &#8211; شاشات خلفيه جنوط amg 20 &#8211; السياره نظيفه وغاية المستخدم تم تعديل سعر السياره 159الف ريال قابل للتفاوض في حدود المعقول<br />
كما يتوفر لدينا جميع انواع السيارات جديده ومستعمله ويوجد لدينا تاجير منتهي بالتمليك<br />
معرض السفير الشرقي للسيارات الدمام الخضريه<br />
طريق الجبيل الظهران السريع<br />
سيارات جديده &#8211; مستعمله &#8211; خدمات المرور<br />
للتواصل 0583188870&#8211;0556802016<br />
زورو معرضنا<br />
السفير سفيرك لاختيار سيارتك &#8230;.</p>
</content>

我正在使用以下代码来获取内容。

-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{
    NSLog(@"Before: %@",string);


    currentNodeContent = (NSMutableString *) string;

}

我没有从这个内容标签得到任何东西,如标题,图像和日期没有html所以没有任何问题。那么该怎么做。

1 个答案:

答案 0 :(得分:0)

foundCharacter可以多次调用,因此您必须检查标记:

您要获取内容的标记是<p>标记,而不是<content>标记,因为NSXMLParser认为<p>是xml stracture的一部分。

您应该在<![CDATA[<html> ... </html> ]]中生成所有HTML,然后将其放在内容标记中。否则解析器不会得到它。对于CDATA,您可以使用此委托方法:

- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock
{
    NSString *someString = [[NSString alloc] initWithData:CDATABlock encoding:NSUTF8StringEncoding];
}