关于MSXML更改xml文件,removeChild方法成功但是文件依旧没有改变mxl文件
来源:互联网 发布:淘宝店铺如何做爆款 编辑:程序博客网 时间:2024/05/01 09:23
CoInitialize(NULL) ;
//得到整个xml文档
MSXML2::IXMLDOMDocumentPtr pDoc ;
HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30)) ;
if(FAILED(hr))
{
return ;
}
pDoc->load((LPCTSTR)xmlpath) ;
//得到根节点
MSXML2::IXMLDOMElementPtr pRoot ;
pRoot = pDoc->GetdocumentElement() ;
//所有子节点
MSXML2::IXMLDOMNodeListPtr pNodes ;
pNodes = pRoot->GetchildNodes() ;
int personNumber = pNodes->Getlength() ;
MSXML2::IXMLDOMNodePtr pNode ;//根节点下的节点
MSXML2::IXMLDOMNodePtr pNodeAtt ;//根节点下所有节点的所有属性
MSXML2::IXMLDOMNamedNodeMapPtr pNamedNodeMap ;
for(int i=0;i<personNumber;i++)
{
pNode = pNodes->Getitem(i) ;
pNamedNodeMap = pNode->Getattributes() ;
pNodeAtt = pNamedNodeMap->Getitem(type) ;
//判断是否有节点的某个属性是否与所找的数据相同,如果有,则删除该节点
if((CString)(pNodeAtt->GetnodeTypedValue().bstrVal) == person)
{
HRESULT hr = pRoot->removeChild(pNode) ;
if(FAILED(hr))
break ;
personNumber = personNumber-1 ;
}
}
pDoc.Release() ;
pRoot.Release() ;
pNodes.Release() ;
pNode.Release() ;
//得到整个xml文档
MSXML2::IXMLDOMDocumentPtr pDoc ;
HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30)) ;
if(FAILED(hr))
{
return ;
}
pDoc->load((LPCTSTR)xmlpath) ;
//得到根节点
MSXML2::IXMLDOMElementPtr pRoot ;
pRoot = pDoc->GetdocumentElement() ;
//所有子节点
MSXML2::IXMLDOMNodeListPtr pNodes ;
pNodes = pRoot->GetchildNodes() ;
int personNumber = pNodes->Getlength() ;
MSXML2::IXMLDOMNodePtr pNode ;//根节点下的节点
MSXML2::IXMLDOMNodePtr pNodeAtt ;//根节点下所有节点的所有属性
MSXML2::IXMLDOMNamedNodeMapPtr pNamedNodeMap ;
for(int i=0;i<personNumber;i++)
{
pNode = pNodes->Getitem(i) ;
pNamedNodeMap = pNode->Getattributes() ;
pNodeAtt = pNamedNodeMap->Getitem(type) ;
//判断是否有节点的某个属性是否与所找的数据相同,如果有,则删除该节点
if((CString)(pNodeAtt->GetnodeTypedValue().bstrVal) == person)
{
HRESULT hr = pRoot->removeChild(pNode) ;
if(FAILED(hr))
break ;
personNumber = personNumber-1 ;
}
}
pDoc.Release() ;
pRoot.Release() ;
pNodes.Release() ;
pNode.Release() ;
pNodeAtt.Release() ;
大概代码如上。。。最后得到的xml文件一直未更改。。。。在网上荡了一整天最后得大神点播
原因:最后还要save一下
pDoc->save((LPCTSTR)xmlpath) ;
将文件在原目录下保存就ok了
0 0
- 关于MSXML更改xml文件,removeChild方法成功但是文件依旧没有改变mxl文件
- MSXML创建xml文件方法
- MSXML读取XML文件
- MSXML 解析XML文件
- java 读写mxl文件
- 利用MSXML解析xml文件
- 使用MSXML解析XML文件
- 使用MSXML解析XML文件
- 用msxml写xml文件
- 使用MsXML读写XML文件
- 用utf-8编码写入.xml文件,使得msxml可以成功加载xml文件进行解析
- MyBatis Generator 通过xml生成,有日志但是没有生成文件成功的问题
- javac编译成功但是没有class文件生成
- Maven pom.mxl文件详解
- vc中通过MSXML操作XML文件
- 简单使用MSXML生成xml文件
- 用MSXML读XML文件精华
- vc中通过MSXML操作XML文件
- IOS多线程编程一:概述
- 用我的爱成全你的碧海蓝天
- copy list with random pointer
- NYOJ---19擅长排列的小明
- 初识Git,如何利用Git将代码托管到GitHub上
- 关于MSXML更改xml文件,removeChild方法成功但是文件依旧没有改变mxl文件
- 常用MyEclipse快捷键
- String,StringBuffer与StringBuilder的区别
- android webview和ji交互分析
- GC学习笔记
- dp(uva590Always on the run)
- 循序渐进学习嵌入式linux开发---引子
- Divein_day03_进制转换 十进制到其他进制的转换
- 使用调试器攻击安卓APP