TinyXML生成xml檔案

2021-06-16 18:13:23 字數 2529 閱讀 4542

注意:

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...