-4

我正在尝试扫描文本,但我不明白它是如何工作的,有人可以帮助我吗?

<a class="lightbox"  title ="elecciones mexico 2012" href="http://www.myWebpage.com/wp-content/uploads/2012/07/elecciones-mexico-2012.jpg"><img src="http://www.myWebpage.com/wp-content/uploads/2012/07/elecciones-mexico-2012.jpg" alt="" title="elecciones mexico 2012" width="643" height="391" class="aligncenter size-full wp-image-66795" /></a></p>
<p>I need this text</p>
<p> And this text.</p>
<p> Also this text! </p>

<p> I dont want this text </p>]]>

所以我的最终字符串会是这样的:我需要这个文本和这个文本还有这个文本!

提前致谢

4

2 回答 2

0

浪费你的镜头。这就是 NSXMLParser 存在的原因。

@interface TextParser: NSObject {
    NSMutableString *text;
}

- (id)init
{
    if ((self = [super init]))
    {
        text = [[NSMutableString alloc] init];
        NSXMLParser *parser = [[NSXMLParser alloc] initWithData:[string dataUsingEncoding:NSUTF8Stringaencoding];
        parser.delegate = self;
        [parser parse];

        // here text will contain all the text contained by the XML tags
    }
    return self;
}

- (void)parser:(NSXMLParser *)p foundCharacters:(NSString *)chars
{
    [text appendString:chars];
}
于 2012-07-04T18:30:48.683 回答
0

好吧,我知道的 NSScanner (MacOS) 并不特别适合您正在寻找的那种解析。它只是通过一个字符串并返回“令牌”,例如由它们组成的字符集定义的数字或字符串。这对于处理字符串示例中的标签并不是特别有用,除非您愿意接受很高的错误机会。

在这种情况下,您可能会执行类似“读取由除 < 之外的任何内容组成的字符串”并将其附加到结果字符串,然后“读取由除 > 之外的任何内容组成的字符串”并丢弃等等之类的操作,直到您达到结束。根据您实际尝试解析的内容,这可能会或可能不会起作用;这绝对不是从 HTML 中获取纯文本的“方式”。

它也不是 XML(标签不匹配),所以使用 NSXML 可能也不是一个选项......

于 2012-07-04T18:34:03.177 回答