将数据写入HTML模板

时间:2013-04-15 10:10:16

标签: ios objective-c parsing html-parsing

我的项目包中有一个HTML模板。它的结构是这样的,我需要将参数传递给各种%@,如图所示

@"<h3>Test</h3>"
"<div style=\"color:#000;margin:5px;padding:4px;font-family:HelveticaNeueLTPro-LtCn;font-size:16;\">Name: %@</div>"
"<div style=\"color:#000;margin:5px;padding:4px;font-family:HelveticaNeueLTPro-LtCn;font-size:16;\">City: %@</div>"
"<div style=\"color:#000;margin:5px;padding:4px;font-family:HelveticaNeueLTPro-LtCn;font-size:16;\">Country: %@</div>"

我已经完成了类似的功能,其中我的模板是一个XML文件,我使用DDXMLParser写入模板。是否有任何这样的解析器可以让我写入HTML模板。

2 个答案:

答案 0 :(得分:1)

您可以先从文件中读取字符串,然后使用stringWithFormat:

替换它
NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];

// Read whole content
NSData *data = [fileHandle readDataToEndOfFile];
NSString *templateString = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
[fileHandle closeFile];

// Replace here
NSString *htmlString = [NSString stringWithFormat:templateString, param1, param2, param3];

答案 1 :(得分:1)

只需使用普通字符串插值

NSString *template = @"<h3>Test</h3>"
    "<div style=\"color:#000;margin:5px;padding:4px;font-family:HelveticaNeueLTPro-LtCn;font-size:16;\">Name: %@</div>"
    "<div style=\"color:#000;margin:5px;padding:4px;font-family:HelveticaNeueLTPro-LtCn;font-size:16;\">City: %@</div>"
    "<div style=\"color:#000;margin:5px;padding:4px;font-family:HelveticaNeueLTPro-LtCn;font-size:16;\">Country: %@</div>";

NSLog(@"%@", [NSString stringWithFormat:template, @"Paul", @"Leeds", @"UK"]);