Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iOS上将数据转换为CSV或HTML格式?_Html_Ios_Objective C_Csv - Fatal编程技术网

如何在iOS上将数据转换为CSV或HTML格式?

如何在iOS上将数据转换为CSV或HTML格式?,html,ios,objective-c,csv,Html,Ios,Objective C,Csv,在我的应用程序iOS中,我需要将一些数据导出为CSV或HTML格式。我该怎么做?CSV- 我通常只是迭代应用程序中的数据结构,每行输出一组值,其中的值用逗号分隔 struct person { string first_name; string second_name; }; person tony = {"tony", "momo"}; person john = {"john", "smith"}; 看起来像 tony, momo john, smith CSV- 我通

在我的应用程序iOS中,我需要将一些数据导出为CSV或HTML格式。我该怎么做?

CSV-

我通常只是迭代应用程序中的数据结构,每行输出一组值,其中的值用逗号分隔

struct person
{
    string first_name;
    string second_name;
};

person tony = {"tony", "momo"};
person john = {"john", "smith"};
看起来像

tony, momo
john, smith
CSV-

我通常只是迭代应用程序中的数据结构,每行输出一组值,其中的值用逗号分隔

struct person
{
    string first_name;
    string second_name;
};

person tony = {"tony", "momo"};
person john = {"john", "smith"};
看起来像

tony, momo
john, smith
附带了一个示例,说明如何将csv文件读入NSArray的NSArray中,而反向操作则非常简单

可能是这样的(警告:在浏览器中键入的代码):

附带了一个示例,说明如何将csv文件读入NSArray的NSArray中,而反向操作则非常简单

可能是这样的(警告:在浏览器中键入的代码):


一般的解决方案是使用
stringWithFormat:
格式化每一行。假设您正在将其写入文件或套接字,在这种情况下,您将在创建文件句柄时将每个字符串的数据表示形式(请参见
dataUsingEncoding:
)写入文件句柄

如果要格式化很多行,可能需要使用
initWithFormat:
和显式
release
消息,以避免在自动释放池中堆积太多字符串对象而耗尽内存

始终,始终,始终记住在将值传递给格式化方法之前正确转义这些值

对于编写单元测试来说,转义(以及转义)是一件非常好的事情。编写一个CSV格式的单行函数,并使用测试用例将其结果与正确的输出进行比较。如果您手头有一个CSV解析器,或者您将需要一个,或者您只是想真正确保转义是正确的,那么为解析和取消转义以及转义和格式化编写单元测试

如果您可以从包含CSV特殊字符和/或SQL特殊字符的任意组合的单个记录开始,格式化它,解析格式化字符串,最后得到一条与您开始使用的记录相同的记录,那么您知道您的代码是好的


(所有上述内容同样适用于CSV和HTML。如果可能的话,你可以考虑使用XHTML,这样你就可以使用XML验证工具和解析器,包括NSXMLParser)。

< P>一般的解决方案是使用<代码> StrutFieldFrase:<代码>来格式化每一行。假设您正在将其写入文件或套接字,在这种情况下,您将在创建文件句柄时将每个字符串的数据表示形式(请参见
dataUsingEncoding:
)写入文件句柄

如果要格式化很多行,可能需要使用
initWithFormat:
和显式
release
消息,以避免在自动释放池中堆积太多字符串对象而耗尽内存

始终,始终,始终记住在将值传递给格式化方法之前正确转义这些值

对于编写单元测试来说,转义(以及转义)是一件非常好的事情。编写一个CSV格式的单行函数,并使用测试用例将其结果与正确的输出进行比较。如果您手头有一个CSV解析器,或者您将需要一个,或者您只是想真正确保转义是正确的,那么为解析和取消转义以及转义和格式化编写单元测试

如果您可以从包含CSV特殊字符和/或SQL特殊字符的任意组合的单个记录开始,格式化它,解析格式化字符串,最后得到一条与您开始使用的记录相同的记录,那么您知道您的代码是好的


(所有上述内容同样适用于CSV和HTML。如果可能的话,你可以考虑使用XHTML,这样你就可以使用XML验证工具和解析器,包括NSXMLParser)。具体地说,我需要从sqlite数据库导出一些数据。您能具体说明数据的类型或至少数据的源类型吗?好的。具体地说,我需要从sqlite数据库导出一些数据。这实际上没有显示如何从记录到字符串。这实际上没有显示如何从记录到字符串。@Edwin HTML只是一种文本格式,所以构建字符串并将其写入文件。我们无法为您编写应用程序…@Edwin HTML只是一种文本格式,因此请生成字符串并将其写入文件。我们无法为您编写应用程序。。。