【问题标题】:Writing data into a HTML template将数据写入 HTML 模板
【发布时间】:2013-04-07 09:55:25
【问题描述】:

我的项目包中有一个 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 模板。

【问题讨论】:

    标签: ios objective-c parsing html-parsing


    【解决方案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];
    

    【讨论】:

    • 我只想在万不得已的情况下替换字符串。我发布的 sn-p 只是一个示例。实际上,它将是一个非常巨大的 HTMl。所以还有其他方法吗..
    【解决方案2】:

    只使用普通的字符串插值

    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"]);
    

    【讨论】:

    • 谢谢..它工作正常..但除了字符串插值之外还有其他方法。 sn-p 只是一个测试字符串
    • 您对上述方法有何顾虑?如果没有更多细节,很难说出您需要什么...
    • 担心的是我要渲染的字符串包含我需要动态添加到模板中的 HTML 表格。我不确定这是否是正确的方法,或者是否可以使用像 HPPLE 这样的 HTML 解析器。谢谢
    • 这听起来不像是在遍历或操作 DOM,所以我不确定您为什么觉得需要这个?
    猜你喜欢
    • 1970-01-01
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 2021-05-24
    • 2015-09-29
    • 1970-01-01
    相关资源
    最近更新 更多