mtk
自帶的xml
解析現在大多數軟體都用
xml作為配置檔案,
mtk本身也帶了
xml檔案的解析,在此我不評說自帶
xml的解析效率,我只是想說怎麼簡單的應用:
先給出乙個簡單的
xml檔案的內容,我們以此檔案為例子來學習
mtk平台怎麼解析
xml檔案,不妨設檔名為
sample.xml,
其內容如下:
d="美女"
c="2">
<
g i="g1"
n="**美女"
n="泳裝美女"
mtk自帶的xml
解析的函式宣告在
xml_def.h
中。其中幾個關鍵的是:
/* external api */
extern kal_int32 xml_new_parser(xml_parser_struct *parser);
extern void xml_close_parser(xml_parser_struct *parser);
extern void xml_register_element_handler(
xml_parser_struct *parser,
xml_start_elem_hdlr start_hdlr,
xml_end_elem_hdlr end_hdlr);
extern void xml_register_data_handler(xml_parser_struct *parser, xml_data_hdlr data_hdlr);
extern kal_int32 xml_parse(xml_parser_struct *parser, kal_wchar *file_name);
幾個關鍵的處理函式:
typedef void (*xml_start_elem_hdlr) (void *data, const kal_char *el, const kal_char **attr, kal_int32 error);
typedef void (*xml_end_elem_hdlr) (void *data, const kal_char *el, kal_int32 error);
typedef void (*xml_data_hdlr) (void *resv, const kal_char *el, const kal_char *data, kal_int32 len, kal_int32 error);
我們使用的方式如下:
wchar filename=l」sample.xml」;
首先定義乙個;
//註冊讀取
xml內容的函式,為的是將處理讀出來的
xml內容
(預設的只是列印出來而已)
filename);
釋放用於分析的
buffer
等資源
對於xml
的解析是一行一行的解析的,對於本例來說,當註冊了後,解析
xml,
當遇到」<」
號後會呼叫
,將此行的內容讀到
attr
中,其中
el=」
l」,atr中是l
標籤的屬性,其組織方式是
你可以在此函式裡先一些對讀到的資訊進行儲存,等等你需要的操作,其第乙個引數
void *no_used
是沒有使用的。
當讀到某一行是
/>
時就呼叫使用者註冊的標籤結束處理函式
,其中的
data
沒有使用,
el是表示結束的標籤的名稱,
error
是錯誤**,
讀取內容的是
,它被呼叫的時機是在
<>
之外的內容,例如此例中的
289,
當在》符號後有內容時便呼叫
,其引數表示:第乙個
resv
是沒有使用,
el仍然是表示標籤的,比如此處是
s,data
中儲存的就是字串
289,
len表示
data
的長度。
此處我寫乙個處理函式給大家參照下,比如我想讀取的是
l標籤的
a屬性和第乙個
t標籤下的第二組
g下的第3個
s的大小(此例是
506)
則我們寫出如下的函式
char netip30];
}
MTK自帶的XML解析
現在大多數軟體都用xml作為配置檔案,mtk本身也帶了xml檔案的解析,在此我不評說自帶xml的解析效率,我只是想說怎麼簡單的應用 先給出乙個簡單的xml檔案的內容,我們以此檔案為例子來學習mtk平台怎麼解析xml檔案,不妨設檔名為sample.xml,其內容如下 289467 773030 264...
MTK 解析簡訊的內容
因為乙個專案要根據簡訊的內容來控制手機進行不同的工作,所以就要解析簡訊的內容,之後不把簡訊存到手機裡面。首先找到手機mmi收到簡訊的入口 setprotocoleventhandler mmi frm sms new sms ind,prt msg id mmi sms deliver msg in...
iOS 系統自帶xml解析(自定義封裝)
說實話,神他麼用過xml解析,只是調了幾次這種介面,每次都要寫,好麻煩,自己封裝一下,以後會有用吧。首先是基類 請求資料的自定義 委託處理 在文件開始的時候觸發 void parserdidstartdocument nsxmlparser parser 解析起始標記 void parser nsx...