配置檔案如下所示:
讀取配置檔案的函式實現如下所示:<?xml version="1.0" encoding="utf-8" ?>
user-20141111\wwwhost>
ffffdbname>
sauser>
123456password>
db>
d:\downloadpath>
3timeout>
config>
其中轉碼函式:utf8tocstring 的實現如下所示:bool readconfigfile()
cstringa str;
str = strpath;
tixmldocument xmldoc( str.getbuffer() ); // 輸入xml路徑
str.releasebuffer();
if( !xmldoc.loadfile() ) // 讀取xml並檢查是否讀入正確
tixmlelement* pelmroot = null, *pelemtemp, *pelemtempson; // 根節點
pelmroot = xmldoc.rootelement(); // 得到根節點
if( !pelmroot )
pelemtemp = pelmroot->firstchildelement("db");
do pelemtempson = pelemtemp->firstchildelement("user");
if ( pelemtempson )
pelemtempson = pelemtemp->firstchildelement("password");
if ( pelemtempson )
pelemtempson = pelemtemp->firstchildelement("dbname");
if ( pelemtempson )
pelemtempson = pelemtemp->firstchildelement("dbname");
if ( pelemtempson )
} while (false);
return
true;
}
結果如下圖所示bool utf8tocstring( cstring& cstr, const
char* utf8str )
size_t utf8strlen = strlen(utf8str);
if( utf8strlen == 0 )
#ifdef unicode
// cstr = utf8str;
lptstr ptr = cstr.getbuffer(utf8strlen);
zeromemory(ptr,utf8strlen);
// cstring is unicode string so we decode
int newlen = multibytetowidechar(cp_utf8, 0, utf8str, utf8strlen, ptr, utf8strlen );
if( !newlen )
cstr.releasebuffer(utf8strlen);
cstr = cstr.left(newlen);
#else
wchar* buf = new wchar[utf8strlen*2+2];
zeromemory(buf,utf8strlen*2+2);
int newlen = multibytetowidechar(cp_utf8, 0, utf8str, utf8strlen, buf, utf8strlen);
if(!newlen)
cstr = buf;
delete buf;
#endif
return
true;
}
使用原生的NSXmlParser解析xml資料
下面是本人使用原聲nsxmlparser對xml資料進行的解析。這裡有篇有一篇很不錯的教程,使用gdataxml庫對xml資料進行的解析,而且還有對xml資料格式的組建,講解的很是詳細。import viewcontroller.h pragma mark xml解析器 xml資料解析器 inte ...
使用RXMLElement工具類解析XML
現在來寫一篇我最近使用過的一種xml解析的方法的文章。xml解析有多種多樣的方法,包括蘋果自帶的方法和各種工具類,今天我只介紹用rxmlelement的工具類來解析xml。使用步驟 1.首先把xml解析類匯入工程 2.然後在加入框架libxml2.dylib 3.最後把header search p...
Android成長之路 使用DOM解析XML
1 建立乙個getpersonlist 方法 給它乙個流引數 返回乙個list集合 2 建立person集合 3 得到建立dom解析器的工廠物件 4 讓工廠物件建立解析器物件 5 使用解析器物件的parser inputstreamin 進行解析 6 獲取根節點 7 獲取persons的子節點 8 ...