尝试使用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 />
السياره فل كامل – سقف بانورما – رؤيه ليله – نافيشين سستم gps – شاشات خلفيه جنوط amg 20 – السياره نظيفه وغاية المستخدم تم تعديل سعر السياره 159الف ريال قابل للتفاوض في حدود المعقول<br />
كما يتوفر لدينا جميع انواع السيارات جديده ومستعمله ويوجد لدينا تاجير منتهي بالتمليك<br />
معرض السفير الشرقي للسيارات الدمام الخضريه<br />
طريق الجبيل الظهران السريع<br />
سيارات جديده – مستعمله – خدمات المرور<br />
للتواصل 0583188870–0556802016<br />
زورو معرضنا<br />
السفير سفيرك لاختيار سيارتك ….</p>
</content>
我正在使用以下代码来获取内容。
-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
NSLog(@"Before: %@",string);
currentNodeContent = (NSMutableString *) string;
}
我没有从这个内容标签得到任何东西,如标题,图像和日期没有html所以没有任何问题。那么该怎么做。
答案 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];
}