** c++中rapidxml用法及例子:
rapidxml是乙個快速的xml庫,比tinyxml快了50-100倍。本文給出建立、讀取、寫入xml的原始碼。
//下面三個檔案是本段**需要的庫檔案
#include "rapidxml/rapidxml.hpp"
#include "rapidxml/rapidxml_utils.hpp"
#include "rapidxml/rapidxml_print.hpp"
int createxml();
int readandchangexml();
int _tmain(int argc, _tchar* argv)
//測試用例
createxml();
//測試用例
readandchangexml();
system("pause");
return 0;
//建立乙個名稱為config2.xml檔案
int createxml()
rapidxml::xml_document<> doc;
rapidxml::xml_node<>* rot = doc.allocate_node(rapidxml::node_pi,doc.allocate_string("xml version='1.0' encoding='utf-8'"));
rapidxml::xml_node<>* node = doc.allocate_node(rapidxml::node_element,"config","information");
rapidxml::xml_node<>* color = doc.allocate_node(rapidxml::node_element,"color",null);
rapidxml::xml_node<>* size = doc.allocate_node(rapidxml::node_element,"size",null);
rapidxml::xml_node<>* mode = doc.allocate_node(rapidxml::node_element,"mode","screen mode");
std::string text;
rapidxml::print(std::back_inserter(text), doc, 0);
std::cout<:ofstream out>
out << doc;
return 0;
//讀取並修改config3.xml
int readandchangexml()
rapidxml::file<> fdoc("../config/config2.xml");
std::cout<:xml_document> doc;
doc.parse<0>(fdoc.data());
std::cout/! 獲取根節點
rapidxml::xml_node<>* root = doc.first_node();
std::cout
rapidxml::xml_node<>* node1 = root->first_node();
std::cout* node11 = node1->first_node();
std::cout
rapidxml::xml_node<>* size = root->first_node("size");
std::string text;
rapidxml::print(std::back_inserter(text),doc,0);
std::cout<:ofstream out>
out << doc;
return 0;
socket例子及高階用法
使用sigalrm訊號為阻塞操作設定超時 可以處理connect和read等超時 include include include include include include include include include include define maxline 4096 typedef v...
String的用法及例子
string是c 標準庫的乙個重要的部分,主要用於字串處理。可以使用輸入輸出流方式直接進行操作,也可以通過檔案等手段進行操作。其中使用的 多數都是來自cpp官網。宣告和初始化方法 想使用string首先要在標頭檔案當中加入 string 宣告 string s 宣告乙個string 物件 strin...
C 中As 及Is 的用法
session user asif user null return error 有些不明白,上網查了些資料,對as和is有了些了解,把資料放在這裡供學習和參考 在c 中,所有的東西都是物件。因此任何常數也是乙個整型物件。這裡用到了as as 是c 語言裡面的乙個關鍵字。as 運算子類似於型別轉換,...