2025年libxml2(libxml2使用)

libxml2(libxml2使用)void writeXML void span style color rgba 0 128 0 1 span span style color rgba 0 128 0 1 定义文档和节点指针 span xmlDocPtr

大家好,我是讯享网,很高兴认识大家。



void writeXML(void){ 
讯享网</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">定义文档和节点指针</span> xmlDocPtr doc = xmlNewDoc(BAD_CAST<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">1.0</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">); xmlNodePtr root_node </span>= xmlNewNode(NULL,BAD_CAST<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">root</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">); </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">设置根节点</span> 
xmlDocSetRootElement(doc, root_node);
讯享网
 </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">在根节点中直接创建节点</span> xmlNewTextChild(root_node, NULL, BAD_CAST <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">newNode1</span><span style="color: rgba(128, 0, 0, 1)">"</span>, BAD_CAST <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">newNode1 content</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">); xmlNewTextChild(root_node, NULL, BAD_CAST </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">newNode2</span><span style="color: rgba(128, 0, 0, 1)">"</span>, BAD_CAST <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">newNode2 content</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">); xmlNewTextChild(root_node, NULL, BAD_CAST </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">newNode3</span><span style="color: rgba(128, 0, 0, 1)">"</span>, BAD_CAST <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">newNode3 content</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">); </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">创建一个节点,设置其内容和属性,然后加入根结点</span> xmlNodePtr node = xmlNewNode(NULL, BAD_CAST<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">node2</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">); xmlNodePtr content </span>= xmlNewText(BAD_CAST<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">NODE CONTENT</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">); xmlAddChild(root_node, node); xmlAddChild(node,content); xmlNewProp(node,BAD_CAST</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">attribute</span><span style="color: rgba(128, 0, 0, 1)">"</span>, BAD_CAST <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">yes</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">); </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">创建一个儿子和孙子节点</span> node = xmlNewNode(NULL, BAD_CAST <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">son</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">); xmlAddChild(root_node,node); xmlNodePtr grandson </span>= xmlNewNode(NULL, BAD_CAST <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">grandson</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">); xmlAddChild(node,grandson); xmlAddChild(grandson, xmlNewText(BAD_CAST </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">This is a grandson node</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">)); </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">存储xml文档</span> <span style="color: rgba(0, 0, 255, 1)">int</span> nRel = <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">; nRel </span>= xmlSaveFile(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">CreatedXml.xml</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,doc); </span><span style="color: rgba(0, 0, 255, 1)">if</span> (nRel != -<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">) { cout</span>&lt;&lt;<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">一个xml文档被创建,写入</span><span style="color: rgba(128, 0, 0, 1)">"</span>&lt;&lt;nRel&lt;&lt;<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">个字节</span><span style="color: rgba(128, 0, 0, 1)">"</span>&lt;&lt;<span style="color: rgba(0, 0, 0, 1)">endl; } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">释放文档内节点动态申请的内存</span> 
xmlFreeDoc(doc); }

讯享网

小讯
上一篇 2025-05-07 15:01
下一篇 2025-04-17 23:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/165606.html