アプリでxmlフィードを解析しようとしています...xmlファイルはこのURLにあります
feeds.feedburner.com/blogspot/TUvAW?format=xml
問題は、説明セグメントにアクセスすると、引用符などのさまざまな特殊記号が表示されることです。これは、私のxmlから解析しようとしている記述セグメントの1つです。
<description>Este es mi blog 3<img src="http://feeds.feedburner.com/~r/blogspot/TUvAW/~4/URCV9ModTR0" height="1" width="1"/></description>
NSXMLParserで解析すると、次のようになります。
XMLParser.m
- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
currentNodeContent = (NSMutableString *) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ([elementname isEqualToString:@"item"])
{
currentFeed = [Feed alloc];
isStatus = YES;
}
if ([elementname isEqualToString:@"author"])
{
isStatus = NO;
}
}
- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if (isStatus)
{
if ([elementname isEqualToString:@"description"])
{
currentFeed.description = currentNodeContent;
NSLog(@"%@",currentNodeContent);
}
if ([elementname isEqualToString:@"title"])
{
currentFeed.content = currentNodeContent;
NSLog(@"%@",currentNodeContent);
}
if ([elementname isEqualToString:@"link"])
{
currentFeed.WVUrl = currentNodeContent;
NSLog(@"%@",currentNodeContent);
}
}
if ([elementname isEqualToString:@"item"])
{
[self.feeds addObject:currentFeed];
currentFeed = nil;
currentNodeContent = nil;
}
}
これらのNSLogを使用して、解析から取得した文字列を追跡していますが、説明ノードのコンテンツは常にこれだけを示しています:>タイトルノードとリンクノードは完全に表示されています。
説明ノードからすべての文字列を取得して後で使用したいのですが、単純にできません。これで何が問題になっているのかわかりません。