我正在尝试从某些标签中获取所有XML(不仅是值,而是包括两个打开和关闭标签之间的更多XML)的所有内容),我想我会使用正则表达式。
我的代码看起来像这样
NSError *error2 = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<PayloadPost>(.*)</PayloadPost>"
options:NSRegularExpressionCaseInsensitive
error:&error2];
if (error2)
{
NSLog(@"Error %@", [error2 description]);
}
NSArray *payloadRanges=[regex matchesInString:theXMLString options:0 range:NSMakeRange(0, [theXMLString length])];
int size=[payloadRanges count];
printf("Size %d",size);
基本上我需要"有效载荷帖子"中的所有内容,但它一直没有给我任何东西。我不断得到 0 的大小,我知道 XML 中有 3 个实例。
谁能帮我?
请确保设置多行标志,https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSRegularExpression_Class/Reference/Reference.html#//apple_ref/doc/c_ref/NSRegularExpressionDotMatchesLineSeparators
否则,"."字符将不匹配换行符,并且您的正则表达式将匹配
<PayloadPost>something</PayloadPost>
但不是
<PayloadPost>
something
</PayloadPost>