所以,我有这样的HTML:
<blockquote>TEXT<br/>MORE TEXT<br/>SOME MORE TEXT</blockquote>
基本上,我需要在blockquote标签之间获取所有文本,包括新行。 使用“// blockquote”只返回最后一行(SOME MORE TEXT),并使用“// blockquote / text()”将每一行作为数组中的单独项返回。
任何帮助?
答案 0 :(得分:0)
您的代码运行正常。 br被解析器解释为另一个标记。
你必须像这样修改你的代码(我没有编译这个源代码):
在- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
创建NSMutableString * finalValue;
if([elementName isEqualtoString"@"br"])
{
finalValue = [NSString stringwithformat:@"%@\n",finalValue];
}
所以基本上你必须在遇到一个br标签结尾时将\ n附加到解析后的值。
答案 1 :(得分:0)
的XPath:
//blockquote
将返回所有blockquote元素,无论它们在何处。
的XPath:
//blockquote/text()
将返回所有blockquote元素的子文本节点
的XPath:
//blockquote//node()
将返回所有blockquote元素的任何后代节点(文本或标签),即在您的情况下:
TEXT<br/>MORE TEXT<br/>SOME MORE TEXT