|
|
C++下通过MSXML读取XML文件内容 |
作者:洛羽叶 点击率:2170 发布时间:2012-12-03 |
MSXML是微软提供的读写XML内容的开发函数库,随操作系统分发,提供的是COM接口。
引用MSXML的方式
不要采用高版本的,保证在Windows XP等低版本操作系统下运行。
#import “msxml3.dll”
using namespace MSXML2;
初始化COM环境,多线程程序每个线程都要执行
CoInitialize(NULL);
//使用COM对象
CoUninitialize();
打开XML文件
BSTR类型记得释放
::IXMLDOMDocumentPtr xdTemp=NULL;
VARIANT_BOOL result = VARIANT_FALSE;
HRESULT hr=NULL;
::IXMLDOMNodeListPtr xnlTemp;
::IXMLDOMNodePtr xnTemp1;
BSTR bstrTemp;
hr=xdTemp.CreateInstance(__uuidof(::DOMDocument30));
hr=xdTemp->load(_variant_t("configuration/common/myname:0:"),&result);
hr=xdTemp->selectNodes((_bstr_t)saTemp[0],&xnlTemp);
hr=xnlTemp->get_item(atol(saTemp[1]),&xnTemp1);
xnTemp1->get_text(&bstrTemp);
::SysFreeString(bstrTemp);
xdTemp=NULL;
XML文件内容
<?xml version="1.0" encoding="gb2312"?>
<configuration>
<common>
<myname>zhangsan</myname>
</common>
</configuration>
|
|
|
|
|
|