CSV数据交换格式
两个程序之间如何交换数据,用什么格式,常见的有CSV,XML,JSON。
1.CSV介绍
关于CSV的介绍请参考维基https://zh.wikipedia.org/wiki/%E9%80%97%E5%8F%B7%E5%88%86%E9%9A%94%E5%80%BC
2.CSV格式解码
解码函数
__Array* CSVParser::parse(const char* fileName)
{
auto sharedFileUtils = FileUtils::getInstance();
string pathKey = sharedFileUtils->fullPathForFilename(fileName);//转换为全路径
string content = sharedFileUtils->getStringFromFile(pathKey);//读取
__String* contentStr = __String::create(content);//std::string转换为_string格式
__Array* rows = contentStr->componentsSeparatedByString("\n");//以换行符为间隔读取
__Array* ret = __Array::createWithCapacity(rows->count());
Ref *obj = nullptr;
CCARRAY_FOREACH(rows, obj)//遍历rows
{
auto fieldStr = static_cast<__String*>(obj);
__Array* fields = fieldStr->componentsSeparatedByString(",");//以逗号为间隔读取
ret->addObject(fields);
}
return ret;
}
记事本格式
读取完输出
XML数据交换格式
1.XML格式 https://zh.wikipedia.org/wiki/XML
2.解析
目前流行的主要有SAX和DOM。
2.1 SAX解析
SAX是一种基于事件驱动的解析方式。从上到下读取文档,但无法写入,且程序编写有点难度,有点就是速度快
例子: