一个vc中使用msxml的问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 08:54:12
下面部分代码出现问题:
IXMLDOMDocumentPtr pDoc;
HRESULT hr;
hr = pDoc.CreateInstance(__uuidof(DOMDocument40));
if (FAILED(hr)){
MessageBox( " 无法创建DOMDocument对象,请检查是否安装了MSXML Parser 运行库! " );
return;
}
其中FAILED(hr)总返回真值,也就是出现错误。但是不明白是哪出了问题。

请不要把网上关于msxml的文章或者链接粘过来,大部分我都看过了。

会不会是msxml4.dll的安装问题?我的机器里只有msxm3l.dll和msxml6.dll,我是下载了msxml4.dll放到工程文件夹中,然后#import"msxml.dll",难道是这里出的问题?

请注册你的COM,方法"开始菜单"-"运行",然后输入
REGSVR32 x:\XXX\msxml4.dll
REGSVR32后面是msxml4.dll的路径

第一步,在stdafx.h加入2句:
#import <msxml3.dll> //导入动态库,装了IE5就有
using namespace MSXML2; //引用命名空间,
第二步:声明文档变量
MSXML2::IXMLDOMDocumentPtr pTestDomDocument;//故障参数文件

第三步:然后在代码中就可以使用
void CQuickTestView::GetPeizhiTable(int sendtype,char* buf)
{
::CoInitialize(NULL);
pDRTDomDocument.CreateInstance(__uuidof(DOMDocument30));//创建XML文档实例

MSXML2::IXMLDOMProcessingInstructionPtr pPI=NULL;
//创建处理指令
pDRTDomDocument->raw_createProcessingInstruction(_bstr_t(L"xml"),_bstr_t(L"version='1.0' encoding='utf-8'"),&pPI);
pDRTDomDocument->appendChild(pPI);

//创建根目录
MSXML2::IXMLDOMElementPtr pDRTDocRoot;
pDRTDocRoot = pDRTDomDocument->createElement((_bstr_t)"DRT");
pDRTDomDocument->appendChild(pDRTDocRoot);