XML文件读写
//这两句作用是,在程序的文件夹下生成MSXML3.TLH和MSXML3.TLI两个文件;
#import "msxml3.dll"
using namespace MSXML2;
类型:
XML文件档类型:MSXML2::IXMLDOMDocumentPtr;
单个元素类型:MSXML2::IXMLDOMElementPtr;
单个节点类型:MSXML2::IXMLDOMNodePtr;
所有子节点类型:MSXML2::IXMLDOMNodeListPtr;
所有属性类型:MSXML2::IXMLDOMNamedNodeMapPtr;
获得节点个数的方法:get_length();
获得所有子节点的方法:get_childNodes();
获得指定节点的方法:get_item(索引号,单个节点类型变量);
写入单个节点的文本内容方法:put_text((_bstr_t)"内容");
获得单个节点的文本内容属性:XMLNODE->text;
获得单个属性的内容属性:XMLNODEATT->text;
节点名的属性为:XMLNODE->nodeName;
1.读
加载文件过程序:
::CoInitialize(NULL);
HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument30));
if(!SUCCEEDED(HR))
{
MessageBox("faild!!");
return;
}
XMLDOC->load("XMLTEST.XML");
文件操作.........................
XMLDOC->save("XMLTEST.XML");//可以保存对文件的修改;
XMLNODES.Release();
XMLNODE.Release();
XMLROOT.Release();
XMLDOC.Release();
::CoUninitialize();
2.写
XML创建文件一般过程:
::CoInitialize(NULL);
HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument30));
if(!SUCCEEDED(HR))
{
MessageBox("faild!!");
return;
}
XMLROOT = XMLDOC->createElement("ROOT");//创建文件;
操作文件.....................
XMLDOC->save("XMLTEST.XML");//保存文件;
XMLNODE.Release();
XMLROOT.Release();
XMLDOC.Release();
::CoUninitialize();