我正在尝试阅读包含以下信息的文件
<TEXTFORMAT LEADING='2'><P ALIGN='LEFT'><FONT FACE='Arial' SIZE='10' COLOR='#000000' LETTERSPACING='0' KERNING='0'>Kiran</FONT></P></TEXTFORMAT>
<TEXTFORMAT LEADING='2'><P ALIGN='LEFT'><FONT FACE='Arial' SIZE='10' COLOR='#000000' LETTERSPACING='0' KERNING='0'> Ajay</FONT></P></TEXTFORMAT></isText><isValue></isValue><isCorrectAnswer></isCorrectAnswer>
因为我需要一个以<p
开头并以/p>
结尾的字符串。最好的方法是什么。
* *我的想法 1.按字符阅读字符并检查
2.使用NSXmlParser来解析上面的
如果您有任何好的技巧,请帮助我找出哪个好的并提供除此方法之外的建议。
你的建议对我来说更有价值。 谢谢大家。
答案 0 :(得分:0)
您可以尝试使用TouchXML:
TouchXML installation
这是解决问题的代码:
NSMutableArray *res = [[NSMutableArray alloc] init];
//xmlInput is your string as NSString
CXMLDocument *doc = [[[CXMLDocument alloc] initWithData:[xmlInput dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil] autorelease];
NSArray *nodes = NULL;
nodes = [doc nodesForXPath:@"////P" error:nil];
for (CXMLElement *node in nodes) {
NSMutableDictionary *item = [[NSMutableDictionary alloc] init];
[item setObject:[node XMLString] forKey:@"p"];
[res addObject:item];
[item release];
}
NSLog(@"%@", res);
[res release];