我的代码简单如下:
头文件:
#import "msxml.dll"
using namespace MSXML;
class CXmlReadWrite
{
protected:
static IXMLDOMDocument* CoCreateIXMLDOMDocumentInstance();
public:
CXmlReadWrite();
virtual ~CXmlReadWrite();
};实现文件:
IXMLDOMDocument* CXmlReadWrite::CoCreateIXMLDOMDocumentInstance()
{
IXMLDOMDocument* pResult = NULL;
HRESULT hr = ::CoCreateInstance(__uuidof(DOMDocument), NULL, CLSCTX_INPROC_SERVER
|| CLSCTX_LOCAL_SERVER, __uuidof(IXMLDOMDocument), (void**)&pResult);
if (FAILED(hr) || NULL == pResult)
//::MessageBox(NULL, "abc", "abc", 0);
throw "Unable to create XML parser object.\nPlease install msxml.";
return pResult;
}可为什么总是创建不成功?试过用msxml4也不行!
望各位指点!谢!!!
头文件:
#import "msxml.dll"
using namespace MSXML;
class CXmlReadWrite
{
protected:
static IXMLDOMDocument* CoCreateIXMLDOMDocumentInstance();
public:
CXmlReadWrite();
virtual ~CXmlReadWrite();
};实现文件:
IXMLDOMDocument* CXmlReadWrite::CoCreateIXMLDOMDocumentInstance()
{
IXMLDOMDocument* pResult = NULL;
HRESULT hr = ::CoCreateInstance(__uuidof(DOMDocument), NULL, CLSCTX_INPROC_SERVER
|| CLSCTX_LOCAL_SERVER, __uuidof(IXMLDOMDocument), (void**)&pResult);
if (FAILED(hr) || NULL == pResult)
//::MessageBox(NULL, "abc", "abc", 0);
throw "Unable to create XML parser object.\nPlease install msxml.";
return pResult;
}可为什么总是创建不成功?试过用msxml4也不行!
望各位指点!谢!!!
解决方案 »
- 这是一个什么样的系统外部错误?急!!!
- 急急急急急串口通讯的问题《我的下位机怎么传不上数据呢?有时候能够读取到,而有时候读取到的为0个字节呢?》
- 一个类重定义的问题
- 关于AfxMessageBox(),知道其工作原理的进来,欢迎讨论,来者有分!
- VC用ado连接oracle问题
- 求救!
- word转图片,图片质量差,怎么办
- 我已经等了很久----一个关于atl的小问题。
- 斑竹请打扰,一个问题问了好几次,每次都是不同的回答.现在我不求解决,只求给我分析一下为什么会产生这种情况,在写程序时应这样避免.
- activex急救!!!
- 请教一个简单问题,新手,谢谢
- wndclass.hbrBackground=GetStockObject(WHITE_BRUSH); 这一句为什么出错?? 解决了就给分
//#include "stdafx.h"
#include "XML.h"#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif#import "msxml.dll" rename_namespace("XML")
/////////////////////////////////////////////////////////////////////////////
// The one and only application objectCWinApp theApp;using namespace std;void ReadXML()
{
XML::IXMLDOMDocumentPtr xmlDoc(__uuidof(DOMDocument));
xmlDoc->async = FALSE;//同步加载XML文件
char szFilePath[]="hxk.xml";
xmlDoc->load(szFilePath);
XML::IXMLDOMElementPtr pDocElement = xmlDoc->GetdocumentElement();
XML::IXMLDOMElementPtr pElement = pDocElement ->selectSingleNode("ShangHai");
AfxMessageBox((_bstr_t)pElement->getAttribute("Weather"));
AfxMessageBox(pElement->Gettext());
//AfxMessageBox(xmlDoc->xml);
}int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0; // initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
CoInitialize(NULL);
try
{
XML::IXMLDOMDocumentPtr xmlDoc(__uuidof(DOMDocument));
XML::IXMLDOMElementPtr pDocElemt = xmlDoc->createElement("China");
xmlDoc->appendChild(pDocElemt);
XML::IXMLDOMElementPtr pNewDocElemt = xmlDoc ->createElement("Beijing");
pNewDocElemt ->Puttext("-11");
pDocElemt->appendChild(pNewDocElemt);
pNewDocElemt = xmlDoc->createElement("ShangHai");
pNewDocElemt ->Puttext("9");
pNewDocElemt ->setAttribute("Weather",_variant_t("Cloudy"));
pDocElemt ->appendChild(pNewDocElemt); //xmlDoc ->save(_variant_t("d:\\hxk.xml")); ReadXML(); }
catch (_com_error& err)
{
CString strError = "加载XML文件失败";
strError += err.Description();
AfxMessageBox(strError);
} CoUninitialize();
} return nRetCode;
}
呵呵参考参考