报错:
error C2872: “IXMLDOMNode”: 不明确的符号
5> 可能是“c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml.h(531) : IXMLDOMNode”
“MSXML”: 不是类或命名空间名称
7>StorageManagerImpl.cpp(3731): error C2660: “IXMLDOMNodeList::nextNode”: 函数不接受 0 个参数
7>StorageManagerImpl.cpp(3735): error C2660: “IXMLDOMElement::getAttribute”: 函数不接受 1 个参数
7>StorageManagerImpl.cpp(3736): error C2660: “IXMLDOMElement::getAttribute”: 函数不接受 1 个参数
7>StorageManagerImpl.cpp(3739): error C2660: “IXMLDOMNodeList::nextNode”: 函数不接受 0 个参数
7>StorageManagerImpl.cpp(3743): error C2660: “IXMLDOMNodeList::nextNode”: 函数不接受 0 个参数
7>StorageManagerImpl.cpp(3756): error C2653: “MSXML”: 不是类或命名空间名称
7>StorageManagerImpl.cpp(3757): error C2653: “MSXML”: 不是类或命名空间名称
7>StorageManagerImpl.cpp(3763): error C2653: “MSXML”: 不是类或命名空间名称
7>StorageManagerImpl.cpp(3766): error C2660: “IXMLDOMDocument::createProcessingInstruction”: 函数不接受 2 个参数
7>StorageManagerImpl.cpp(3768): error C2660: “IXMLDOMNode::appendChild”: 函数不接受 1 个参数
7>StorageManagerImpl.cpp(3770): error C2660: “IXMLDOMDocument::createElement”: 函数不接受 1 个参数
请问什么问题?多谢!
import 后加一句 using namespace MSXML2;
加过了 没用
@carl_bruce: 建立一个控制台程序:
#include "stdafx.h"
#import "msxml3.dll"
int _tmain(int argc, _TCHAR* argv[])
{
MSXML2::IXMLDOMDocumentPtr pDoc;
HRESULT hr=pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));
return 0;
}
自己去测试下。
你 import msxml3.dll 后又 include 了 <msxml.h> 了吧!这两个版本都不匹配。
你如果非要 include ,你该这样:
#import "msxml3.dll"
#include <MsXml2.h> // 是 2
或者干脆这样:
#import "msxml3.dll"
看你用 COM 这么痛苦,你还是用 XmlLite 吧!