场景:
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>