从ios中的文件构造一个字符串

时间:2011-08-04 10:40:36

标签: iphone objective-c file-io nsstring

我正在尝试阅读包含以下信息的文件

<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来解析上面的

如果您有任何好的技巧,请帮助我找出哪个好的并提供除此方法之外的建议。

你的建议对我来说更有价值。 谢谢大家。

1 个答案:

答案 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];