VC 使用MSXML创建SVG文档中的新结点时出现xmlns="" 属性解决方法


 在VC中使用MSXML创建SVG,在使用下面代码:

//创建一个层	
pLeyer = pDoc->createElement((_bstr_t)"g");
pLeyer->setAttribute("id","Head_Layer");
//创建一个节点    
pNode = pDoc->createElement((_bstr_t)"rect");
pNode->setAttribute("x","0");
pNode->setAttribute("y","0");
pNode->setAttribute("width","1650");
pNode->setAttribute("height","906");
pNode->setAttribute("fill","rgb(0,0,0)");
//添加节点到层
pLeyer->appendChild(pNode);
//将层添加到根
xmlRoot->appendChild(pLeyer);

建立一个新结点时,生成的结点中出现xmlns="" 属性,如下xml:

<g xmlns="" id="Head_Layer">
	<rect x="0" y="0" width="1650" height="906" fill="rgb(0,0,0)"/>
</g>

自动的添加了xmlns="" 属性,查了资料,解决办法如下代码:

/********引用包含**********/
VARIANT   vtTemp; 
vtTemp.vt   =   VT_I2; 
vtTemp.iVal   =   1;   
_bstr_t   namespaceURI="http://www.w3.org/2000/svg"; 

//创建一个层	
pLeyer = pDoc->createNode(vtTemp,(_bstr_t)"g",namespaceURI);
pLeyer->setAttribute("id","Head_Layer");
//创建一个节点    
pNode = pDoc->createNode(vtTemp,(_bstr_t)"rect",namespaceURI);
pNode->setAttribute("x","0");
pNode->setAttribute("y","0");
pNode->setAttribute("width","1650");
pNode->setAttribute("height","906");
pNode->setAttribute("fill","rgb(0,0,0)");
//添加节点到层
pLeyer->appendChild(pNode);
//将层添加到根
xmlRoot->appendChild(pLeyer);

使用createNode创建结点。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lujunql

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值