Cpper
C/C++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿
導(dǎo)航
C++博客
首頁
新隨筆
聯(lián)系
聚合
管理
<
2010年3月
>
日
一
二
三
四
五
六
28
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
31
1
2
3
4
5
6
7
8
9
10
統(tǒng)計
隨筆 - 379
文章 - 2
評論 - 439
引用 - 0
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(26)
給我留言
查看公開留言
查看私人留言
隨筆分類
(335)
aspx/js
(rss)
boost庫等(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è)計模式(7)
(rss)
數(shù)學(xué)建模(1)
(rss)
網(wǎng)頁搜素(2)
(rss)
音頻視頻(17)
(rss)
雜項(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ī)大師
積分與排名
積分 - 775605
排名 - 19
最新隨筆
1.?QML 單張圖片顯示翻轉(zhuǎn)效果
2.?QML 圖片翻轉(zhuǎn)動畫
3.?ffmpeg av_seek_frame
4.?QML StackLayout
5.?QML Canvas旋轉(zhuǎn)和平移
6.?QML透明度動畫
7.?QML不響應(yīng)下層右鍵菜單
8.?QML 右鍵菜單
9.?QML 菜單項
10.?QML 環(huán)形進度條
最新評論
1.?re: QT學(xué)習(xí)筆記-35:QTableWidget動態(tài)增加行的方法
寫的真好
--垃圾袋
2.?re: Qt筆記:106 - QT 一個簡單的數(shù)據(jù)庫查詢軟件
簡單的數(shù)據(jù)庫查詢軟件 Mark
--linda
3.?re: BGE GUI升級
小弟也準(zhǔn)備開發(fā)gui庫,可以苦于沒有例子,希望給封源碼學(xué)習(xí)學(xué)習(xí)。
better@geekzhou.uu.me
--zhouxiang
4.?re: 發(fā)布一個基于OPENGL的GUI庫
better@geekzhou.uu.me
求一份代碼,也再做同樣事,不過到現(xiàn)在都沒思議,主要沒學(xué)過opengl。csdn要積分,沒積分。
--zhouxiang
5.?re: Qt筆記:100 - QTableWidget列排序
QT的原理 MARK下
--linda
閱讀排行榜
1.?c++小問題has no member named ''XXX‘(25115)
2.?c++軟件開發(fā)第三方庫大全(19561)
3.?QT學(xué)習(xí)筆記-29.使用QT HTTP下載網(wǎng)絡(luò)文件(13022)
4.?gcc之declaration does not declare anything解決方案(11938)
5.?QT學(xué)習(xí)筆記-35:QTableWidget動態(tài)增加行的方法(11819)
評論排行榜
1.?蓋莫游戲引擎-插件系統(tǒng)(17)
2.?loki技法(1).靜態(tài)斷言(13)
3.?loki技法(2).CheckReturn(12)
4.?vc6使用rapidxml(12)
5.?c++軟件開發(fā)第三方庫大全(12)
使用rapidxml操作xml2(讀文件操作)
接上篇
本文主要涉及rapidxml讀文件的操作
基本的步驟為
首先獲取xml文件數(shù)據(jù)
然后分析數(shù)據(jù)
獲取節(jié)點
獲取屬性
獲取名字
獲取值
...
代碼如下:
#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é)點
xml_node
<>*
root
=
doc.first_node();
std::cout
<<
root
->
name()
<<
std::endl;
//
! 獲取根節(jié)點第一個節(jié)點
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
>
需要說明的是rapidxml明顯有一個bug
那就是append_node(doc.allocate_node(node_element,"h","0"));的時候并不考慮該對象是否存在!
經(jīng)過這2篇 基本上就可以使用xml了
當(dāng)然這里并沒有涉及異常處理
posted on 2010-04-16 21:49
ccsdu2009
閱讀(2443)
評論(0)
編輯
收藏
引用
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © ccsdu2009
99久久精品这里只有精品
|
久久AV无码精品人妻糸列
|
91精品国产9l久久久久
|
久久噜噜电影你懂的
|
久久www免费人成看国产片
|
欧美精品乱码99久久蜜桃
|
青青青国产成人久久111网站
|
国产精品九九久久免费视频
|
久久久久久久久无码精品亚洲日韩
|
久久棈精品久久久久久噜噜
|
国产精品嫩草影院久久
|
97久久国产综合精品女不卡
|
亚洲午夜久久久影院
|
99久久婷婷免费国产综合精品
|
久久久久女教师免费一区
|
AV狠狠色丁香婷婷综合久久
|
一级做a爰片久久毛片免费陪
|
久久精品国产99国产精偷
|
亚洲国产一成人久久精品
|
久久亚洲AV无码西西人体
|
69SEX久久精品国产麻豆
|
色偷偷88888欧美精品久久久
|
久久国产精品免费一区二区三区
|
国产精品美女久久久久
|
久久精品日日躁夜夜躁欧美
|
国产精品亚洲综合专区片高清久久久
|
99久久无码一区人妻a黑
|
色狠狠久久AV五月综合
|
久久综合久久美利坚合众国
|
亚洲乱码日产精品a级毛片久久
|
97久久精品人人做人人爽
|
亚洲天堂久久精品
|
久久国产精品一区二区
|
久久精品国产影库免费看
|
一本色道久久88加勒比—综合
|
久久青草国产精品一区
|
日本免费久久久久久久网站
|
成人国内精品久久久久影院VR
|
亚洲国产精品久久66
|
久久国产乱子伦精品免费午夜
|
精品人妻伦九区久久AAA片69
|