[libxml2]_[C/C++]_[使用libxml2生成文件xhtml]

来源:互联网 发布:淘宝零食店怎么开 编辑:程序博客网 时间:2024/05/26 22:10


场景:

1.需要生成xhtml文件.比如生成浏览器可预览的表格.


TEST(test_xml_writer,testWriteXhtml){ //定义文档和节点指针xmlDocPtr doc = xmlNewDoc(BAD_CAST"1.0");xmlNodePtr root_node = xmlNewNode(NULL,BAD_CAST"html");//设置根节点xmlDocSetRootElement(doc,root_node);xmlNewProp(root_node,BAD_CAST"xmlns",BAD_CAST "http://www.w3.org/1999/xhtml");xmlNodePtr head_ptr = xmlNewTextChild(root_node,NULL,BAD_CAST "head",NULL);xmlNodePtr title_ptr = xmlNewTextChild(head_ptr,NULL,BAD_CAST "title",NULL);xmlNodePtr link_ptr = xmlNewTextChild(head_ptr,NULL,BAD_CAST "link",NULL);xmlNewProp(link_ptr,BAD_CAST"res",BAD_CAST "stylesheet");xmlNewProp(link_ptr,BAD_CAST"href",BAD_CAST "");xmlNewProp(link_ptr,BAD_CAST"type",BAD_CAST "text/css");xmlSetProp(link_ptr,BAD_CAST"href",BAD_CAST "../1.css");xmlNodePtr body_ptr = xmlNewTextChild(root_node,NULL,BAD_CAST "body",NULL);xmlNodePtr p = xmlNewTextChild(body_ptr, NULL, BAD_CAST "p", BAD_CAST "newNode1 content");xmlNodeSetContent(p,BAD_CAST "infoworld");//存储xml文档int nRel = xmlSaveFormatFileEnc("dist/word.xhtml",doc,"UTF-8",1);assert(nRel!=-1);xmlFreeDoc(doc);}

输出:

<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml">  <head>    <title/>    <link res="stylesheet" href="../1.css" type="text/css"/>  </head>  <body>    <p>infoworld</p>  </body></html>



原创粉丝点击