首页 > 编程知识 正文

用vc6.0编写一个c程序的基本过程,小度1c使用教程

时间:2023-05-05 01:36:01 阅读:153609 作者:2694

libxml2常用的库函数详细地址一:首先,了解一些libxml2常用的指针xmlDocPtr 表示XML文档的指针 xmlNodePtr 表示XML节点的指针 xmlChar 用于表示XML中字符串(如属性值)和unsigned char的重新定义 表示xmlattrXML属性的指针必须首先获取xmlDocPtr。 有两种方法可以获取xmlDocPtr。 第一个3360从文件读取,第二个3360从存储器读取字符串 从[ ]文件读取 stringxmlfilename=' c :\ q.XML '; xmldocptrm _ xmldoc=XML readfile (XML filename.c _ str (,0,XML_PARSE_NOBLANKS ) ); 从[ ]内存读取字符串xmlstr='xxxxx

x '; xmldocptrm _ xmldoc=xmlreadmemory (xmlstr.c _ str ),(int ) xmlStr.length ),0,' UTF-8 ',XML_parse_。 分析节点//根节点xmlnodeptrnode=xmldocgetrootelement (m _ xmldoc ); //获取根节点子节点xmlnodeptrspchildnode=node-children; 对于while(spchildnode )//节点if (sp child node-type==XML _ element _ node )//获取节点属性)//下一个节点sp child node=ssp nodename='pname'age='page'///属性链表XML attr * ATR node=sp child node-properties; 对于while(ATRnode )//属性节点if (ATR node-type==XML _ attribute _ node ) ({ //name为keyconstxmlchar * key=ATR node-) } atrNode=atrNode-next; }读取纯qrdhj节点//a我是QR dhj/axmlnodeptrspchildnode=node-children; while (对于sp child node )//节点if ) sp child node-type==XML _ element _ node ) XML char * text=sp child node-content; //移动到下一个节点的spChildNode=spChildNode-next; 解析xml构想graph TDA [获取xmldoc ptr ]-- |是否为空| B (获取根节点(B -- |是否存在根节点|c )遍历根节点的子节点) }C==|是节点e )遍历获取属性D -- |获取属性| E[属性]D -- |qrdhj节点|f[QRDHJ]XML创建文档对象指针//xmldocptrxmlnewdoc (constxmlchar * ) 创建BAD_CAST(XMLchar* )//BAD_CAST是在xmlstring.h中定义xmlnodeptrcolumnsnode=XML new node ) 0,bad_cast xmldocsetrootelement(doc,columnsNode ); 在节点下添加节点的xmlnodeptrsubnode=XMLnewnode(0,BAD_CAST 'td ' ); //xmlnodeptrxmladdchild (xmlnodeptrparent,xmlNodePtr cur ) XMLaddchild ) columnsnode,subNode ); 节点string nameValue='魔法'; //xmlattrptrxmlnewprop (xmlnodeptrnode,const xmlChar * name,const xmlChar * value ) xmlnewprop ) subnode,bad _ cast ' cast //XML char * xmlgetprop (xmlnodeptrnode,const xmlChar * name ) XMLsetprop ) subnode,BAD_CAST 'name ',bad _ cast ' //voidxmlnodeaddcontentlen (xmlnodeptrcur,const xmlChar * content,int len ) string text='我是qrdhj '; inttextlen=(int ) text.length ); xmlnodeaddcontentlen(node,) XML char * (text.c _ str ),textLen ); 保存XML并输入xmlDocPtr的字符串QR dhj//voidxmldocdumpformatmemoryenc (xmldocptrout _ doc,xmlChar ** doc_txt_ptr,int * doc int len=1000; xmldocdumpformatmemoryenc (m _ XML-m _ xmldoc,outbuf,len,' UTF-8 ',1 ); 文件///XMLsavefile (const char * filename,xmlDocPtr cur ) XML save file ) c:(q.XML ),m_xmlDoc; 要理解libxml2,必须了解链表,了解libxml2的魔法,然后了解libxml2的函数并熟练使用libxml2

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。