c++builder使用XMLDocument操作XML进行增,删,改,读!

2014-11-24 12:34:52 · 作者: · 浏览: 1

//头文件

#include

#include

#include

//操作

//定义变量

AnsiString GameTDJpath;//只能是AnsiString类型

AnsiString gamepath=“gamepath”;//只能是AnsiString类型

_di_IXMLDocument XmlNetbargpp = NewXMLDocument(); //新建一个对像

XmlNetbargpp->Active=true;//激活

//读取

XmlNetbargpp->LoadFromFile(ExtractFilePath(Application->ExeName) + "netbar.xml");//加载xml(得到exe路径加上XML名组合成动态的路径)

XmlNetbargpp->Active=false;//手动关闭与打开在多次使用时有用

XmlNetbargpp->Active=true;//手动关闭与打开在多次使用时有用

GameTDJpathtext = XmlNetbargpp->DocumentElement->ChildNodes->FindNode(gamepath)->GetAttribute("path");//查找节点gametdj的属性path的值

//插入

_di_IXMLNode root = XmlNetbargpp->DocumentElement; //获取根节点ROOT

root = root->AddChild("game");//新加节点

root ->Attributes["path"]="";//增加属性path的值为空性

XmlNetbargpp->SaveToFile("netbar.xml");//保存后才会更新XML

//更新

_di_IXMLNode nodeupdate = XmlNetbargpp->DocumentElement->ChildNodes->FindNode(gamepath);//查找gamepath节点

nodeupdate ->AttributeNodes->operator [](0)->Nodeva lue= (WideString)(“path的值”);//设定node查找到节点下的第一个属性path的值

XmlNetbargpp->SaveToFile("netbar.xml");//保存后才会更新xml

//删除

_di_IXMLNode node2=XmlNetbargpp->DocumentElement;//可以先进行查找后,再删除

node2->ChildNodes->Delete(WideString(“gamepath”));//删除节点

gamepathXmlNetbargpp->SaveToFile("netbar.xml");//保存后才会更新XML

   

摘自 破空的专栏