Cpper
C/C++高級(jí)工程師 Android高級(jí)軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語(yǔ)言 程序猿
導(dǎo)航
C++博客
首頁(yè)
新隨筆
聯(lián)系
聚合
管理
<
2010年6月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
統(tǒng)計(jì)
隨筆 - 379
文章 - 2
評(píng)論 - 439
引用 - 0
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(26)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類
(335)
aspx/js
(rss)
boost庫(kù)等(9)
(rss)
Cef(2)
(rss)
Cef/Chrome(1)
(rss)
Game引擎(82)
(rss)
JAVA(1)
(rss)
Java Antroid(10)
(rss)
OpenGL/DX(1)
(rss)
Python腳本(7)
(rss)
QT編程(149)
(rss)
QT源碼分析(2)
(rss)
UML
(rss)
編程基礎(chǔ)(12)
(rss)
軟件調(diào)試(1)
(rss)
軟件工程(5)
(rss)
設(shè)計(jì)模式(7)
(rss)
數(shù)學(xué)建模(1)
(rss)
網(wǎng)頁(yè)搜素(2)
(rss)
音頻視頻(17)
(rss)
雜項(xiàng)(26)
(rss)
隨筆檔案
(379)
2019年9月 (20)
2019年8月 (20)
2019年6月 (1)
2019年3月 (1)
2018年6月 (1)
2017年9月 (5)
2017年5月 (2)
2017年4月 (2)
2017年3月 (4)
2016年10月 (3)
2016年8月 (1)
2016年6月 (1)
2016年5月 (1)
2016年4月 (6)
2016年3月 (2)
2016年2月 (2)
2016年1月 (4)
2015年12月 (5)
2015年11月 (3)
2015年10月 (2)
2015年8月 (12)
2015年7月 (2)
2015年6月 (1)
2015年1月 (1)
2014年12月 (4)
2014年11月 (2)
2014年6月 (1)
2014年4月 (1)
2014年3月 (1)
2013年12月 (2)
2013年11月 (1)
2013年10月 (3)
2013年9月 (1)
2013年8月 (2)
2013年7月 (2)
2013年6月 (3)
2013年4月 (1)
2013年2月 (4)
2013年1月 (9)
2012年12月 (3)
2012年11月 (1)
2012年10月 (2)
2012年9月 (2)
2012年8月 (2)
2012年7月 (2)
2012年6月 (3)
2012年5月 (7)
2012年4月 (4)
2012年3月 (4)
2012年1月 (2)
2011年12月 (8)
2011年11月 (13)
2011年9月 (6)
2011年8月 (10)
2011年7月 (1)
2011年6月 (4)
2011年5月 (12)
2011年4月 (4)
2011年3月 (19)
2011年1月 (1)
2010年12月 (3)
2010年11月 (2)
2010年10月 (4)
2010年9月 (6)
2010年8月 (11)
2010年7月 (4)
2010年6月 (11)
2010年5月 (15)
2010年4月 (28)
2010年3月 (23)
2010年2月 (23)
文章檔案
(2)
2014年3月 (1)
2011年5月 (1)
XYZ
codeproject.com
lua
ode
蝸牛選股
程序員
華佗中醫(yī)大師
積分與排名
積分 - 773669
排名 - 19
最新隨筆
1.?QML 單張圖片顯示翻轉(zhuǎn)效果
2.?QML 圖片翻轉(zhuǎn)動(dòng)畫(huà)
3.?ffmpeg av_seek_frame
4.?QML StackLayout
5.?QML Canvas旋轉(zhuǎn)和平移
6.?QML透明度動(dòng)畫(huà)
7.?QML不響應(yīng)下層右鍵菜單
8.?QML 右鍵菜單
9.?QML 菜單項(xiàng)
10.?QML 環(huán)形進(jìn)度條
最新評(píng)論
1.?re: QT學(xué)習(xí)筆記-35:QTableWidget動(dòng)態(tài)增加行的方法
寫(xiě)的真好
--垃圾袋
2.?re: Qt筆記:106 - QT 一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)查詢軟件
簡(jiǎn)單的數(shù)據(jù)庫(kù)查詢軟件 Mark
--linda
3.?re: BGE GUI升級(jí)
小弟也準(zhǔn)備開(kāi)發(fā)gui庫(kù),可以苦于沒(méi)有例子,希望給封源碼學(xué)習(xí)學(xué)習(xí)。
better@geekzhou.uu.me
--zhouxiang
4.?re: 發(fā)布一個(gè)基于OPENGL的GUI庫(kù)
better@geekzhou.uu.me
求一份代碼,也再做同樣事,不過(guò)到現(xiàn)在都沒(méi)思議,主要沒(méi)學(xué)過(guò)opengl。csdn要積分,沒(méi)積分。
--zhouxiang
5.?re: Qt筆記:100 - QTableWidget列排序
QT的原理 MARK下
--linda
閱讀排行榜
1.?c++小問(wèn)題has no member named ''XXX‘(24996)
2.?c++軟件開(kāi)發(fā)第三方庫(kù)大全(19539)
3.?QT學(xué)習(xí)筆記-29.使用QT HTTP下載網(wǎng)絡(luò)文件(13014)
4.?gcc之declaration does not declare anything解決方案(11898)
5.?QT學(xué)習(xí)筆記-35:QTableWidget動(dòng)態(tài)增加行的方法(11803)
評(píng)論排行榜
1.?蓋莫游戲引擎-插件系統(tǒng)(17)
2.?loki技法(1).靜態(tài)斷言(13)
3.?loki技法(2).CheckReturn(12)
4.?vc6使用rapidxml(12)
5.?boost庫(kù)使用注意事項(xiàng)(1)-從boost::tokenizer說(shuō)起(12)
使用rapidxml操作xml2(讀文件操作)
接上篇
本文主要涉及rapidxml讀文件的操作
基本的步驟為
首先獲取xml文件數(shù)據(jù)
然后分析數(shù)據(jù)
獲取節(jié)點(diǎn)
獲取屬性
獲取名字
獲取值
...
代碼如下:
#include
<
iostream
>
#include
<
rapidxml
/
rapidxml.hpp
>
#include
<
rapidxml
/
rapidxml_utils.hpp
>
#include
<
rapidxml
/
rapidxml_print.hpp
>
using
namespace
rapidxml;
int
main()
{
file
<>
fdoc(
"
config.xml
"
);
std::cout
<<
fdoc.data()
<<
std::endl;
xml_document
<>
doc;
doc.parse
<
0
>
(fdoc.data());
std::cout
<<
doc.name()
<<
std::endl;
//
! 獲取根節(jié)點(diǎn)
xml_node
<>*
root
=
doc.first_node();
std::cout
<<
root
->
name()
<<
std::endl;
//
! 獲取根節(jié)點(diǎn)第一個(gè)節(jié)點(diǎn)
xml_node
<>*
node1
=
root
->
first_node();
std::cout
<<
node1
->
name()
<<
std::endl;
xml_node
<>*
node11
=
node1
->
first_node();
std::cout
<<
node11
->
name()
<<
std::endl;
std::cout
<<
node11
->
value()
<<
std::endl;
//
! 修改之后再次保存
xml_node
<>*
size
=
root
->
first_node(
"
size
"
);
size
->
append_node(doc.allocate_node(node_element,
"
w
"
,
"
0
"
));
size
->
append_node(doc.allocate_node(node_element,
"
h
"
,
"
0
"
));
std::
string
text;
rapidxml::print(std::back_inserter(text),doc,
0
);
std::cout
<<
text
<<
std::endl;
std::ofstream
out
(
"
config.xml
"
);
out
<<
doc;
system(
"
PAUSE
"
);
return
EXIT_SUCCESS;
}
生成的xml為:
<?
xml version='1.0' encoding='utf-8'
?>
<
config
>
<
color
>
<
red
>
0.1
</
red
>
<
green
>
0.1
</
green
>
<
blue
>
0.1
</
blue
>
<
alpha
>
1.0
</
alpha
>
</
color
>
<
size
>
<
x
>
640
</
x
>
<
y
>
480
</
y
>
</
size
>
<
mode
fullscreen
="false"
>
screen mode
</
mode
>
</
config
>
需要說(shuō)明的是rapidxml明顯有一個(gè)bug
那就是append_node(doc.allocate_node(node_element,"h","0"));的時(shí)候并不考慮該對(duì)象是否存在!
經(jīng)過(guò)這2篇 基本上就可以使用xml了
當(dāng)然這里并沒(méi)有涉及異常處理
posted on 2010-04-16 21:49
ccsdu2009
閱讀(2438)
評(píng)論(0)
編輯
收藏
引用
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
Powered by:
C++博客
Copyright © ccsdu2009
精品水蜜桃久久久久久久
|
久久无码AV中文出轨人妻
|
久久久久国产一区二区
|
色综合久久夜色精品国产
|
久久99精品久久久久婷婷
|
国产精品VIDEOSSEX久久发布
|
欧美久久久久久
|
99久久婷婷国产一区二区
|
久久综合亚洲色一区二区三区
|
久久精品国产亚洲一区二区
|
婷婷国产天堂久久综合五月
|
97超级碰碰碰久久久久
|
一本色道久久88精品综合
|
久久精品无码一区二区app
|
久久国产精品久久精品国产
|
伊人久久大香线蕉综合影院首页
|
国产亚洲精久久久久久无码AV
|
亚洲欧美成人综合久久久
|
午夜肉伦伦影院久久精品免费看国产一区二区三区
|
亚洲AV成人无码久久精品老人
|
美女久久久久久
|
办公室久久精品
|
久久66热人妻偷产精品9
|
亚洲精品乱码久久久久久久久久久久
|
久久99热精品
|
久久久久久久97
|
久久天天躁狠狠躁夜夜不卡
|
亚洲欧美另类日本久久国产真实乱对白
|
久久国产精品久久久
|
国产精品视频久久
|
久久国产精品一区二区
|
国产精品岛国久久久久
|
精品永久久福利一区二区
|
国内精品人妻无码久久久影院
|
久久中文骚妇内射
|
色诱久久久久综合网ywww
|
久久人人爽人人爽人人片AV不
|
久久精品国产亚洲av麻豆小说
|
久久99国产精品尤物
|
91精品国产91久久
|
久久嫩草影院免费看夜色
|