0

我正在尝试使用 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,所以我没有任何问题。那么在这里做什么。

4

1 回答 1

0

foundCharacter 可以被多次调用,所以你必须检查标签:

您想要获取内容的标签是<p>标签而不是<content>标签,因为 NSXMLParser 认为这<p>是 xml 结构的一部分。

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

- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock
{
    NSString *someString = [[NSString alloc] initWithData:CDATABlock encoding:NSUTF8StringEncoding];
}
于 2013-10-31T09:58:28.523 回答