注意:
insertendchild與linkendchild區別
insert 系列的函式插入的是結點的副本(包括所有子結點),而 linkendchild 插入的就是你建立的物件。
例子 xml 內容:
<?xml version="1.0" encoding="utf-8" ?>
電視劇集電影
寫法一:
[cpp]
view plain
copy
void
cxmldlg::makexml1()
; tixmlelement channel1("channel"
);
channel1.setattribute( "count"
, 5 );
mbstoutf8( utf8, sizeof
(utf8),
"電視劇集"
);
tixmltext text1( utf8 );
channel1.insertendchild( text1 );
list.insertendchild( channel1 );
tixmlelement channel2("channel"
);
channel2.setattribute( "count"
, 5 );
mbstoutf8( utf8, sizeof
(utf8),
"電影"
);
tixmltext text2( utf8 );
channel2.insertendchild( text2 );
list.insertendchild( channel2 );
config.insertendchild( list );
doc.insertendchild( config );
tixmlprinter printer;
printer.setindent( 0 ); // 設定縮排字元,設為 0 表示不使用縮排。預設為 4個空格,也可設為'\t'
doc.accept( &printer );
char
content[256] = ;
intsize = printer.size();
assert( size < sizeof
(content) );
strcpy_s( content, sizeof
(content), printer.cstr() );
}
寫法二:
[cpp]
view plain
copy
void
cxmldlg::makexml2()
; tixmlelement *channel1 = new
tixmlelement(
"channel"
);
channel1->setattribute( "count"
, 5 );
mbstoutf8( utf8, sizeof
(utf8),
"電視劇集"
);
tixmltext *text1 = new
tixmltext( utf8 );
channel1->linkendchild( text1 );
list->linkendchild( channel1 );
tixmlelement *channel2 = new
tixmlelement(
"channel"
);
channel2->setattribute( "count"
, 5 );
mbstoutf8( utf8, sizeof
(utf8),
"電影"
);
tixmltext *text2 = new
tixmltext( utf8 );
channel2->linkendchild( text2 );
list->linkendchild( channel2 );
config->linkendchild( list );
doc->linkendchild( config );
tixmlprinter printer;
printer.setindent( 0 );
doc->accept( &printer );
char
content[512] = ;
intsize = printer.size();
assert( size < sizeof
(content) );
memcpy( content, printer.cstr(), printer.size() );
delete
doc;
}
TinyXML讀取xml檔案
例子 xml 內容 電視劇集電影 以下為示例 buffer 中儲存著上面例子的 xml 內容 cpp view plain copy void cxmldlg par ml if mbstoutf8 utf8,sizeof utf8 buffer 0 此函式見我之前關於 tinyxml 的文章 re...
TinyXML讀寫XML檔案
最近要用c 來讀寫配置檔案,和自己的需要記錄的資料,這這東西比存在資料庫裡面好用,但是唯一不爽的一點是可維護性太差,修改欄位後太難處理了,沒有php拿到引數方便,可以直接以字串來索引查詢引數的值,只能以相對位置,先拿到根目錄,然後再根據相對位置查詢。這個東西的好處是可以直接拿 碼用,只有6個檔案,放...
boost生成xml與tinyxml之間的格式轉換
ifndef simulation structures h define simulation structures h include include boost serialization vector.hpp include boost archive xml oarchive.hpp in...