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
久久久久人妻一区精品果冻
|
精品综合久久久久久97
|
99久久777色
|
精品久久久久久国产三级
|
久久精品国产一区二区
|
久久人人爽人人爽人人爽
|
久久影院综合精品
|
久久99精品久久久久久噜噜
|
人妻无码精品久久亚瑟影视
|
久久99亚洲网美利坚合众国
|
久久99精品久久久久久动态图
|
狠狠综合久久综合中文88
|
人人狠狠综合久久88成人
|
精品乱码久久久久久夜夜嗨
|
亚洲精品国产字幕久久不卡
|
国产69精品久久久久观看软件
|
成人免费网站久久久
|
女同久久
|
91久久精品国产91性色也
|
亚洲中文久久精品无码ww16
|
久久精品午夜一区二区福利
|
蜜桃麻豆www久久国产精品
|
国产Av激情久久无码天堂
|
久久婷婷五月综合97色直播
|
国产视频久久
|
大香网伊人久久综合网2020
|
久久香蕉国产线看观看精品yw
|
思思久久99热免费精品6
|
久久嫩草影院免费看夜色
|
久久久久夜夜夜精品国产
|
99久久精品免费看国产一区二区三区
|
久久精品免费一区二区
|
污污内射久久一区二区欧美日韩
|
99久久综合狠狠综合久久
|
久久夜色精品国产亚洲av
|
久久婷婷五月综合色奶水99啪
|
久久精品国产亚洲麻豆
|
久久久中文字幕日本
|
99精品久久精品
|
亚洲嫩草影院久久精品
|
亚洲精品蜜桃久久久久久
|