【问题标题】:Remove '<p>' from Rss Parser Text从 Rss 解析器文本中删除“<p>”
【发布时间】:2013-02-15 09:53:23
【问题描述】:

我创建了一个 RSS 解析器,它工作得很好,但是,我的 'p' 元素有问题。我的 RSS 编码提要带有“p”,当我获取该文本时,它会附带它。如何删除它?

我想删除这个:

<p>

这是我的解析器:

    - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
  namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
    if ([current isEqualToString:@"item"]) [outstring appendFormat:@"%@", @"\n"];
    current = nil;
}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
    if (!current) return;
    if ([current isEqualToString:@"content:encoded"]) [outstring appendFormat:@"%@", string];
}

这是我的底线:

_kocTextView.text = @"";

        NSURL *url4 = [NSURL URLWithString:@"http://www.iburc.com/?feed=rss2&cat=7"];

        top10Parser = [[Top10Parser alloc] initWithDelegate: self url: url4];

【问题讨论】:

  • 附带问题:您为什么使用appendFormat 而不是appendString?仅在您实际具有字符串格式时才使用格式。示例:[outstring appendString:@"\n"];

标签: objective-c xml-parsing rss


【解决方案1】:

你试过了吗

[stringWhereYouWantToRemoveP stringByReplacingOccurrencesOfString:@"<p>" withString:@""];

【讨论】:

    【解决方案2】:

    改变这个:

    if ([current isEqualToString:@"item"]) [outstring appendFormat:@"%@", @"\n"];
    

    到:

    if ([current isEqualToString:@"item"]) {
        [outstring replaceOccurrencesOfString:@"<p>" withString:@"" options:0 range:NSMakeRange(0, outstring.length)];
        [outstring replaceOccurrencesOfString:@"</p>" withString:@"" options:0 range:NSMakeRange(0, outstring.length)];
    
        [outstring appendString:@"\n"];
    }
    

    根据您的需要,您可能希望将 &lt;p&gt; 替换为 \n\n 而不是空字符串。

    【讨论】:

    • 感谢您的回答,但同样如此。它不修复,@rmaddy。它没有任何错误,但没有机会。
    • 您在哪里进行了这些更改以及您在哪里检查结果?
    • return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    • 什么? UIApplicationMain 和我的回答有什么关系?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    相关资源
    最近更新 更多