關於libXml的讀取

2022-09-17 13:12:09 字數 1456 閱讀 5727

圖xml

輸出xml_text_node 圖

不輸出xml_text_node

這樣的乙個xml,竟然會讀到text這種節點,兩種節點型別xml_text_node和xml_element_node

xml_text_node的名稱讀到預設就是text,xml_element_node節點的名稱是自己起好的名字,

感覺和之前使用過的tinyxml不太一樣,tinyxml每次都到的都是xml_element_node,不會憑空讀到

xml_text_node這種節點,至少讓我分析的時候產生一些困惑。

#definexml_var_node_str "statuscode"

bool readstatusxml::loadxmlfile(const char * xmlfile)

xmldocptrxmldoc;

xmlnodeptrxnrootnode, xnvariable, xnstatuscode;

xmldoc = ::xmlparsefile(xmlfile);

if (! xmldoc)

printf("error");

return false;

xnrootnode = ::xmldocgetrootelement(xmldoc);

printf("%s\n", xnrootnode->name);

if (! xnrootnode)

::xmlfreedoc(xmldoc);

return false;

xnvariable = xnrootnode->xmlchildrennode;

if (! xnvariable)

::xmlfreedoc(xmldoc);

return false;

while(xnvariable)

if (!xmlstrcmp(xnvariable->name, bad_cast xml_var_node_str)) //通過節點名稱來過濾xml_text_node

//if(xnvariable->type == xml_element_node) //通過型別來過濾xml_text_node

printf("  %s\n", xnvariable->name);

loadxmlstatuscode(xnvariable);

xnvariable = xnvariable->next;

xmlfreedoc(xmldoc);

return true;

libxml的使用(1) 讀取xml

libxml是乙個用於解析xml檔案的庫,在各個平台下都能使用,也支援多種語言,如c,python等。這裡是官方 上面有libxml的api和一些code examples,都是英文的。不過比較簡單。libxml的基礎功能就是對xml的讀和寫。下面將簡單介紹libxml的讀的功能。大部分內容是參照l...

libxml的使用(1) 讀取xml

libxml是乙個用於解析xml檔案的庫,在各個平台下都能使用,也支援多種語言,如c,python等。這裡是 官方 上面有libxml的api和一些code examples,都是英文的。不過比較簡單。libxml的基礎功能就是對xml的讀和寫。下面將簡單介紹libxml的讀的功能。大部分內容是參照...

libxml的使用(1) 讀取xml

libxml是乙個用於解析xml檔案的庫,在各個平台下都能使用,也支援多種語言,如c,python等。這裡是官方 上面有libxml的api和一些code examples,都是英文的。不過比較簡單。libxml的基礎功能就是對xml的讀和寫。下面將簡單介紹libxml的讀的功能。大部分內容是參照l...