今天实战用boost库中的方法,读取xml格式文件。
博文中涉及到xml的解析,xml内容的提取,数据库的创建,已经向数据库中添加表,并向表中写内容。
xml文件所在的目录:
xml的文件内容:
具体代码实现:
#include<iostream>
//起名
namespace bfs = boost::filesystem;
//创建一个db,我们使用sqlite这种小型数据库,指针使用unique指针。
std::unique_ptr<SQLite::Database> createDb(const bfs::Path& dbPath)
{
if(bfs::exists(dbPath)) //判断是否存在重名的db,如果有,删除后再创建。
bfs::remove(dbPath);
//根据path创建一个unique指向的SQLite类型的数据库
auto db = std::unique_shared<SQLite::Datebase>(dbPath.string(), SQLite::OPEN_READWRITE);
return db;
}
//提取数据。这里第二参数是一个std::funtion,后面得总结下这玩意的用法。
int extractDataFromXml(const std::string& fileName, std::function<void(<