从这篇文章开始,本人开始改做VC++了,在学校的时候感觉自己对这个很感兴趣,终于有机会了,不多说,把今天的日志记下吧.
在VC++对xml进行操作时,有大概三种方式,我对libxml2的方法比较感兴趣,但是发现一个问题,就是里面有个BAD_CAST,
代码如下:
//定义文档和节点指针 xmlDocPtr doc = xmlNewDoc(BAD_CAST"1.0"); xmlNodePtr root_node = xmlNewNode(NULL,BAD_CAST"root"); //设置根节点 xmlDocSetRootElement(doc,root_node); //在根节点中直接创建节点 xmlNewTextChild(root_node, NULL, BAD_CAST "newNode1", BAD_CAST "newNode1 content"); xmlNewTextChild(root_node, NULL, BAD_CAST "newNode2", BAD_CAST "newNode2 content");
不明白是怎么回事,于是就删除了,这样会出现下面的错误:
Compiling... MyXmlTestDlg.cpp E:/test/TestXml/MyXmlTest/MyXmlTestDlg.cpp(191) : error C2664: 'xmlNewTextChild' : cannot convert parameter 3 from 'char [9]' to 'const unsigned char *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast 执行 cl.exe 时出错. MyXmlTest.exe - 1 error(s), 0 warning(s)
这上面的错误说明是数据类型不匹配的问题:
在网上查知: