libxml2设置节点的属性问题?

yddd2011 2013-09-09 12:36:46
利用libxml2设置根节点的PName属性总是报错:
错误:不能将‘xmlAttr*’转换为‘xmlChar*’,在 assignment 中


map<string,tring>online_xml_item;

xmlDocPtr doc;
xmlNodePtr cur;
xmlChar *szAttr;
cur = xmlDocGetRootElement(doc);
szAttr = xmlSetProp(cur,(const xmlChar *)"PName",
(const xmlChar*)online_xml_item["PName"].c_str());//此句报错

不知道是什么原因,应该怎么改呢
先表示感谢!!
...全文
226 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
max_min_ 2013-09-09
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:

xmlChar *value = xmlGetProp(node, (const xmlChar *)"prop1"),
//返回值需要xmlFree(value)释放内存
忽视1楼, 请看这个

xmlSetProp(node, (const xmlChar *)"prop1", (const xmlChar *)"v1");

szAttr = xmlSetProp(cur,(const xmlChar *)"PName",
        (const xmlChar*)(online_xml_item["PName"].c_str()));//试试
max_min_ 2013-09-09
  • 打赏
  • 举报
回复

xmlChar *value = xmlGetProp(node, (const xmlChar *)"prop1"),
//返回值需要xmlFree(value)释放内存
yddd2011 2013-09-09
  • 打赏
  • 举报
回复
引用 3 楼 Daisy__Ben 的回复:
LZ小菜鸟,你都不知道类型不匹配是什么意思吗? 你要先分配xmlAttr,再给它赋值,最后才能添加到属性列表中
引用 4 楼 Daisy__Ben 的回复:
没看清题目问题,丢人……快闪
兄弟真有意思,这个问题我捣鼓了几个小时,其实我也知道是类型不匹配,不过要谢谢你的提醒,我完全不需要它的返回值,问题也就解决了。疑惑在瞬间解开,思维定势。谢谢你。
Daisy__Ben 2013-09-09
  • 打赏
  • 举报
回复
没看清题目问题,丢人……快闪
Daisy__Ben 2013-09-09
  • 打赏
  • 举报
回复
LZ小菜鸟,你都不知道类型不匹配是什么意思吗? 你要先分配xmlAttr,再给它赋值,最后才能添加到属性列表中

64,701

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧