我是第一次使用带有MSXML2的XSLT。当然是行不通的:-)
我有一个我无法解决的错误。
为了修复该错误,我尝试了解周围的所有内容:令我震惊的是。
void xsltProcessing(IXMLDOMDocument* pXmlDoc, IXMLDOMDocument * pXslDoc)
{
CComPtr<IXSLTemplate> pTemplate;
pTemplate.CoCreateInstance(CLSID_XSLTemplate);
pTemplate->putref_stylesheet(pXslDoc);
//...
}
它像轻风一样编译,而这是putref_stylesheet的定义
virtual HRESULT __stdcall putref_stylesheet (
/*[in]*/ struct IXMLDOMNode * stylesheet ) = 0;
而且我还没有找到任何接受IXMLDOMDocument *作为参数的定义。
那怎么可能编译?两种类型根本不匹配!
任何帮助表示赞赏。
我发现这两个链接也在其代码中传递xmldocuments!:
Example One
Example Two
最佳答案
IXMLDOMDocument
是根据MSDN从IXMLDOMNode
派生的。因此,这与将派生类指针传递给期望基类指针的类相同。因此它编译。