user-0 提问: libxml2库 c语言生成xml时 添加 cdata标签

回复:
user: user-1
content: http://http://www.kubihai.com/html/584566.html可以借鉴下

user: user-0
content: 引用 8 楼 zhao4zhong1 的回复:http://blog.csdn.net/pwlazy/article/details/17273153   #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <stdlib.h>   #include <stdio.h> #include <libxml/parser.h> #include <libxml/tree.h> //gcc -o xmltest -I/usr/local/include/libxml2 -L/usr/local/lib -lxml2 xmltest.c int main() { 	int ret = -1; 	char *out = "hello &world"; 	xmlNodePtr node = NULL; 	//定义文档和节点指针  xmlDocPtr doc = xmlNewDoc(BAD_CAST "hello world 1.0"); 	xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0"); 	 	//创建一个新的结点，名字叫root 	xmlNodePtr root_node = xmlNewNode(NULL,BAD_CAST "root"); 	//设置根节点 	xmlDocSetRootElement(doc,root_node); 	 	//在doc中创建一个新的结点，文本内容是out指向的字符串 	node = 	xmlNewDocNode(doc, NULL, (const xmlChar*)"newNode4", out); 	//为root_node添加子结点node 	xmlAddChild(root_node,node); 	 	//为root_node添加子结点node5,内容为out字符串，返回值为一个xmlNodePtr指针 	node=xmlNewChild(root_node, NULL, (xmlChar *) "node5",(xmlChar *)out);  	int nRel = xmlSaveFormatFile ("greatexml.xml", doc, 1);  	if (nRel != -1) 	{ 		printf("一个xml文档被创建，写入%d个字节\n", nRel); 	} 	xmlFreeDoc(doc);  	return 1;  } 老师我直接上代码了，您老看看我这代码该怎么改吧！编译出来后执行就报错！ error : unterminated entity reference           world error : unterminated entity reference           world

user: user-2
content: http://blog.csdn.net/pwlazy/article/details/17273153

user: user-2
content: https://www.baidu.com/s?wd=RFC%202070&rsv_spt=1&rsv_iqid=0xddd3c64000003cf0&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=0&oq=RF%26lt%3B%202070&rsv_t=4429OKyjE5SC602U8OiKXZ6ymyYGZvpQSXFQbCcDXghEGq0Me7%2BOCP0MHWtaodnM%2FhFD&rsv_pq=ff44a78900002e91

user: user-2
content: http://www.kubihai.com/html/584566.html

user: user-0
content: 引用 4 楼 zhao4zhong1 的回复://+-------------------------------------------------------------------------  //  //  Method:     CSpecialCharHashTable::CSpecialCharHashTable  //  //  Synopsis:   Constructor  //  //--------------------------------------------------------------------------    CSpecialCharHashTable::CSpecialCharHashTable()  {      for (unsigned i=0; i<SPECIAL_CHAR_HASH_TABLE_SIZE; i++)          _aHashTable[i] = 0;        //      // Initialize the table with various Ascii string->Unicode mappings      //        //      // For lt and gt, use Unicode chars from private use area to avoid      // collision with '<' and '>' chars in Html tags. These will be      // mapped back to '<' and '>' by the scanner.      //      Add(L"lt",      PRIVATE_USE_MAPPING_FOR_LT);      Add(L"gt",      PRIVATE_USE_MAPPING_FOR_GT);        Add(L"amp",     0x26);      Add(L"quot",    0x22);      Add(L"nbsp",    0xa0);      Add(L"shy",     0xad);      Add(L"Agrave",  0xc0);      Add(L"agrave",  0xe0);      Add(L"Aacute",  0xc1);      Add(L"aacute",  0xe1);      Add(L"Acirc",   0xc2);      Add(L"acirc",   0xe2);      Add(L"Atilde",  0xc3);      Add(L"atilde",  0xe3);      Add(L"Auml",    0xc4);      Add(L"auml",    0xe4);      Add(L"Aring",   0xc5);      Add(L"aring",   0xe5);      Add(L"AElig",   0xc6);      Add(L"aelig",   0xe6);      Add(L"Ccedil",  0xc7);      Add(L"ccedil",  0xe7);      Add(L"Egrave",  0xc8);      Add(L"egrave",  0xe8);      Add(L"Eacute",  0xc9);      Add(L"eacute",  0xe9);      Add(L"Ecirc",   0xca);      Add(L"ecirc",   0xea);      Add(L"Euml",    0xcb);      Add(L"euml",    0xeb);      Add(L"Igrave",  0xcc);      Add(L"igrave",  0xec);      Add(L"Iacute",  0xcd);      Add(L"iacute",  0xed);      Add(L"Icirc",   0xce);      Add(L"icirc",   0xee);      Add(L"Iuml",    0xcf);      Add(L"iuml",    0xef);      Add(L"ETH",     0xd0);      Add(L"eth",     0xf0);      Add(L"Ntilde",  0xd1);      Add(L"ntilde",  0xf1);      Add(L"Ograve",  0xd2);      Add(L"ograve",  0xf2);      Add(L"Oacute",  0xd3);      Add(L"oacute",  0xf3);      Add(L"Ocirc",   0xd4);      Add(L"ocirc",   0xf4);      Add(L"Otilde",  0xd5);      Add(L"otilde",  0xf5);      Add(L"Ouml",    0xd6);      Add(L"ouml",    0xf6);      Add(L"Oslash",  0xd8);      Add(L"oslash",  0xf8);      Add(L"Ugrave",  0xd9);      Add(L"ugrave",  0xf9);      Add(L"Uacute",  0xda);      Add(L"uacute",  0xfa);      Add(L"Ucirc",   0xdb);      Add(L"ucirc",   0xfb);      Add(L"Uuml",    0xdc);      Add(L"uuml",    0xfc);      Add(L"Yacute",  0xdd);      Add(L"yacute",  0xfd);      Add(L"THORN",   0xde);      Add(L"thorn",   0xfe);      Add(L"szlig",   0xdf);      Add(L"yuml",    0xff);      Add(L"iexcl",   0xa1);      Add(L"cent",    0xa2);      Add(L"pound",   0xa3);      Add(L"curren",  0xa4);      Add(L"yen",     0xa5);      Add(L"brvbar",  0xa6);      Add(L"sect",    0xa7);      Add(L"die",     0xa8);      Add(L"copy",    0xa9);      Add(L"laquo",   0xab);      Add(L"reg",     0xae);      Add(L"macron",  0xaf);      Add(L"deg",     0xb0);      Add(L"plusmn",  0xb1);      Add(L"sup2",    0xb2);      Add(L"sup3",    0xb3);      Add(L"acute",   0xb4);      Add(L"micro",   0xb5);      Add(L"para",    0xb6);      Add(L"middot",  0xb7);      Add(L"cedil",   0xb8);      Add(L"supl",    0xb9);      Add(L"raquo",   0xbb);      Add(L"frac14",  0xbc);      Add(L"frac12",  0xbd);      Add(L"frac34",  0xbe);      Add(L"iquest",  0xbf);      Add(L"times",   0xd7);      Add(L"divide",  0xf7);  }     万能的赵老师能不能讲的详细点！

user: user-0
content: 没人回答么！！！！大神去哪里了！？

user: user-2
content: //+-------------------------------------------------------------------------  //  //  Method:     CSpecialCharHashTable::CSpecialCharHashTable  //  //  Synopsis:   Constructor  //  //--------------------------------------------------------------------------    CSpecialCharHashTable::CSpecialCharHashTable()  {      for (unsigned i=0; i<SPECIAL_CHAR_HASH_TABLE_SIZE; i++)          _aHashTable[i] = 0;        //      // Initialize the table with various Ascii string->Unicode mappings      //        //      // For lt and gt, use Unicode chars from private use area to avoid      // collision with '<' and '>' chars in Html tags. These will be      // mapped back to '<' and '>' by the scanner.      //      Add(L"lt",      PRIVATE_USE_MAPPING_FOR_LT);      Add(L"gt",      PRIVATE_USE_MAPPING_FOR_GT);        Add(L"amp",     0x26);      Add(L"quot",    0x22);      Add(L"nbsp",    0xa0);      Add(L"shy",     0xad);      Add(L"Agrave",  0xc0);      Add(L"agrave",  0xe0);      Add(L"Aacute",  0xc1);      Add(L"aacute",  0xe1);      Add(L"Acirc",   0xc2);      Add(L"acirc",   0xe2);      Add(L"Atilde",  0xc3);      Add(L"atilde",  0xe3);      Add(L"Auml",    0xc4);      Add(L"auml",    0xe4);      Add(L"Aring",   0xc5);      Add(L"aring",   0xe5);      Add(L"AElig",   0xc6);      Add(L"aelig",   0xe6);      Add(L"Ccedil",  0xc7);      Add(L"ccedil",  0xe7);      Add(L"Egrave",  0xc8);      Add(L"egrave",  0xe8);      Add(L"Eacute",  0xc9);      Add(L"eacute",  0xe9);      Add(L"Ecirc",   0xca);      Add(L"ecirc",   0xea);      Add(L"Euml",    0xcb);      Add(L"euml",    0xeb);      Add(L"Igrave",  0xcc);      Add(L"igrave",  0xec);      Add(L"Iacute",  0xcd);      Add(L"iacute",  0xed);      Add(L"Icirc",   0xce);      Add(L"icirc",   0xee);      Add(L"Iuml",    0xcf);      Add(L"iuml",    0xef);      Add(L"ETH",     0xd0);      Add(L"eth",     0xf0);      Add(L"Ntilde",  0xd1);      Add(L"ntilde",  0xf1);      Add(L"Ograve",  0xd2);      Add(L"ograve",  0xf2);      Add(L"Oacute",  0xd3);      Add(L"oacute",  0xf3);      Add(L"Ocirc",   0xd4);      Add(L"ocirc",   0xf4);      Add(L"Otilde",  0xd5);      Add(L"otilde",  0xf5);      Add(L"Ouml",    0xd6);      Add(L"ouml",    0xf6);      Add(L"Oslash",  0xd8);      Add(L"oslash",  0xf8);      Add(L"Ugrave",  0xd9);      Add(L"ugrave",  0xf9);      Add(L"Uacute",  0xda);      Add(L"uacute",  0xfa);      Add(L"Ucirc",   0xdb);      Add(L"ucirc",   0xfb);      Add(L"Uuml",    0xdc);      Add(L"uuml",    0xfc);      Add(L"Yacute",  0xdd);      Add(L"yacute",  0xfd);      Add(L"THORN",   0xde);      Add(L"thorn",   0xfe);      Add(L"szlig",   0xdf);      Add(L"yuml",    0xff);      Add(L"iexcl",   0xa1);      Add(L"cent",    0xa2);      Add(L"pound",   0xa3);      Add(L"curren",  0xa4);      Add(L"yen",     0xa5);      Add(L"brvbar",  0xa6);      Add(L"sect",    0xa7);      Add(L"die",     0xa8);      Add(L"copy",    0xa9);      Add(L"laquo",   0xab);      Add(L"reg",     0xae);      Add(L"macron",  0xaf);      Add(L"deg",     0xb0);      Add(L"plusmn",  0xb1);      Add(L"sup2",    0xb2);      Add(L"sup3",    0xb3);      Add(L"acute",   0xb4);      Add(L"micro",   0xb5);      Add(L"para",    0xb6);      Add(L"middot",  0xb7);      Add(L"cedil",   0xb8);      Add(L"supl",    0xb9);      Add(L"raquo",   0xbb);      Add(L"frac14",  0xbc);      Add(L"frac12",  0xbd);      Add(L"frac34",  0xbe);      Add(L"iquest",  0xbf);      Add(L"times",   0xd7);      Add(L"divide",  0xf7);  }

user: user-0
content: 引用 1 楼 user-3 的回复:&  & 你这什么意思能不能讲明白点谢谢！

user: user-3
content: &  &