私はrssリーダーを開発していますが、私が得ようとしている要素の内容に( ')のような文字がある場合を除いて、すべて正常に動作します。 私が持っているXMLであれば、私は例えばXMLの構文解析、ios5
...私は何とかエスケープ文字を置き換えたり、変更文字列関数のいくつかの種類を使用する必要がありますね:
<desciption>this is John's newspaper</description>
私はこれが」得ることはありません事前に
-(id) loadXMLByURL:(NSString *)urlString
{
rssFeeds = [[NSMutableArray alloc] init];
NSURL *url = [NSURL URLWithString:urlString];
NSData *data = [[NSData alloc] initWithContentsOfURL:url];
xmlParser = [[NSXMLParser alloc] initWithData:data];
[xmlParser setDelegate:self];
[xmlParser parse];
return self;
}
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ([elementname isEqualToString:@"item"])
{
currentFeed = [rssReader alloc];
}
}
- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementname isEqualToString:@"title"])
{
currentFeed.rssTitle = str1;
}
if ([elementname isEqualToString:@"description"])
{
currentFeed.rssDescription = currentNodeContent;
}
if ([elementname isEqualToString:@"pubDate"])
{
currentFeed.rsspubDate = currentNodeContent;
}
if ([elementname isEqualToString:@"item"])
{
[rssFeeds addObject:currentFeed];
currentFeed = nil;
currentNodeContent = nil;
}
}
- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
currentNodeContent = (NSMutableString *) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [[xmlParser rssFeeds] count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
INrssCell *cell = (INrssCell *)[tableView dequeueReusableCellWithIdentifier:@"ingrCell"];
rssReader *currectFeed = [xmlParser.rssFeeds objectAtIndex:indexPath.row];
cell.titleLbl.text = currectFeed.rssTitle;
cell.dateLbl.text = currectFeed.rsspubDate;
cell.descLbl.text = currectFeed.rssDescription;
return cell;
}
ありがとう:ジョンの新聞」ではなく "sの新聞" ここ
は私のコードです。