vs2010環境開發
注意:編譯時要記得新增靜態庫路徑,以及包含的標頭檔案路徑。如果要直接跑程式,需要將涉及的靜態庫的動態庫版本放置到程式所在的路徑下。以便程式自己可以找到。
#include "poco/dom/text.h"
#include "poco/dom/element.h"
#include "poco/dom/comment.h"
#include "poco/dom/processinginstruction.h"
#include "poco/dom/attr.h"
#include "poco/dom/document.h"
#include "poco/autoptr.h"
#include "poco/dom/domwriter.h"
#include "poco/xml/xmlwriter.h"
#include "poco/filestream.h"
#include "poco/util/xmlconfiguration.h"
using poco::util::xmlconfiguration;
using poco::autoptr;
#pragma comment(lib,"pocofoundation.lib")
#pragma comment(lib,"pocoxml.lib")
#pragma comment(lib,"pocoutil.lib")
xml檔案的生成**
autoptrpdoc = new poco::xml::document;
autoptrmyroot = pdoc->createelement("root");
autoptrmychild = pdoc->createelement("child");
autoptrmygrandchild = pdoc->createelement("grandchild");
autoptrnamenode = pdoc->createtextnode("my_name_is_xiaoqiang");
autoptrpi = pdoc->createprocessinginstruction("xml","version='1.0' encoding='utf-8'" );
autoptrcomm = pdoc->createcomment("new_day");
poco::xml::domwriter write;
write.setoptions(poco::xml::xmlwriter::pretty_print);
poco::filestream ofs("./example.xml",std::ios::in);
write.writenode(ofs,pdoc);
xml檔案的讀取
autoptrpconfig(new xmlconfiguration("./example.xml"));
//std::string prop1 = pconfig->getstring("prop1");
//int prop2 = pconfig->getint("prop2");
//std::string prop3 = pconfig->getstring("prop3");
//
//std::string prop4 = pconfig->getstring("prop3.prop4");
//prop4 = pconfig->getstring("prop3.prop4[@attr]");
//prop4 = pconfig->getstring("prop3.prop4[1][@attr]");
std::string prop1 = pconfig->getstring("child.grandchild");
int i=0;
//int prop2 = pconfig->getint("prop2");
//std::string prop3 = pconfig->getstring("prop3");
//
//std::string prop4 = pconfig->getstring("prop3.prop4");
//prop4 = pconfig->getstring("prop3.prop4[@attr]");
//prop4 = pconfig->getstring("prop3.prop4[1][@attr]");
最好要捕獲下異常,防止程式崩潰
std::string prop1;
trycatch(...)
附錄:
value1
123
<?xml version='1.0' encoding='utf-8'?>
my_name_is_xiaoqiang
生成XML檔案的步驟 解析XML檔案
生成xml檔案的步驟 1.初始化乙個xml的序列化器 xmlserializer serializer xml.newserializer 2.設定序列化器的引數 serializer.setoutput os,utf 8 3.寫資料 serializer.startdocument utf 8 t...
如何用pugixml庫生成xml檔案
pugixml是乙個開源的xml解析庫,只有三個檔案 pugiconfig.hpp pugixml.hpp pugixml.cpp 速度快,支援xpath。好吧,我懶得介紹了 網上介紹pugixml的地方一大堆,讀者們去搜一下就清楚了。pugixml的github位址如下 那麼怎麼用pugixml生...
XML的解析與生成
1.寫布局 2.業務邏輯 a.備份 1.封裝簡訊資料到list中 2.將list中的資料寫到xml檔案中。b.恢復 1.解析xml檔案中簡訊資料,封裝到list集合中 2.將解析資料列印。xmlserializer 使用xmlserializer來序列化xml檔案 public static boo...