我是第一次使用带有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是根据MSDNIXMLDOMNode派生的。因此,这与将派生类指针传递给期望基类指针的类相同。因此它编译。

10-04 23:32