可执行exe程序和一个xml文件(collectpoint.xml)在同一个目录下,通过
extern WinApp theApp;
XmlFilePath = theApp.GetAppPath();
获取应用程序路径XmlFilePath。
现在程序需要调用xml文件,load里面怎么写啊,调了很久都没弄好。运行提示Failed load!请高手指点。CComPtr<MSXML::IXMLDOMDocument> m_iXMLDoc;
HRESULT hr = m_iXMLDoc.CoCreateInstance(__uuidof( DOMDocument )); //创建文档对象VARIANT_BOOL bFlag;
hr = m_iXMLDoc->load(CComVariant(L"collectpoint.xml"), &bFlag); //load xml文件if(hr == NULL)
::AfxMessageBox(_T("Failed load!"),MB_OK,0);
extern WinApp theApp;
XmlFilePath = theApp.GetAppPath();
获取应用程序路径XmlFilePath。
现在程序需要调用xml文件,load里面怎么写啊,调了很久都没弄好。运行提示Failed load!请高手指点。CComPtr<MSXML::IXMLDOMDocument> m_iXMLDoc;
HRESULT hr = m_iXMLDoc.CoCreateInstance(__uuidof( DOMDocument )); //创建文档对象VARIANT_BOOL bFlag;
hr = m_iXMLDoc->load(CComVariant(L"collectpoint.xml"), &bFlag); //load xml文件if(hr == NULL)
::AfxMessageBox(_T("Failed load!"),MB_OK,0);
返回0是成功啊。
#include <msxml2.h>
#import "msxml.dll" raw_interfaces_only不知道是不是。
MSXML2::IXMLDOMDocumentPtr pXmlDom;
//创建XML文档的根元素
MSXML2::IXMLDOMElementPtr xmlRoot;
//根元素名称
CComBSTR rootname;
//根元素的子结点链表
MSXML2::IXMLDOMNodeListPtr pNodeList;
//根元素的子结点
MSXML2::IXMLDOMNodePtr pNode;
CoInitialize(NULL);
// TODO: Add extra validation here //创建XML文档实例
HRESULT hr=CoCreateInstance(__uuidof(MSXML2::DOMDocument40),NULL,CLSCTX_INPROC_SERVER,
__uuidof(MSXML2::IXMLDOMDocument),(void**)&pXmlDom);
if(!SUCCEEDED(hr))
{
::MessageBox(NULL, "无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库!", "error", MB_OK);
return -1;
}
pXmlDom->put_async(VARIANT_FALSE);
pXmlDom->put_validateOnParse(VARIANT_FALSE);
pXmlDom->put_resolveExternals(VARIANT_FALSE);
//将XML文档导入内存中
pXmlDom->load((_variant_t)str);