我目前从 win32com 包开始。我有 XSL 文件,我在其中使用用 Python 编写的 COM 对象:
<xsl:value-of select="plugin:GetTest(.)"/>
XSL 转换使用 MSXML2 XSL 处理器完成,python COM 对象使用addObject方法注入。GetTest方法的实现如下:
def GetTest(self, obj):
IID_IXMLDOMNode = IID("{2933BF80-7B36-11d2-B20E-00C04F983E60}")
try:
node = win32com.client.Dispatch(obj, None, IID_IXMLDOMNode)
#node = obj.QueryInterface(IID_IXMLDOMNode)
return node.get_text()
except Exception as e:
return format_exc()
obj参数的类型为PyIDispatch。为了使用我的 IXMLDOMNode 节点接口,我必须以某种方式获取它,对吗?但是,未注释的方法失败了
AttributeError: <unknown>.get_text
并且评论的方法失败了
obj.QueryInterface(IID_IXMLDOMNode)<\u000d>pywintypes.com_error: (-2147467262, 'No such interface supported'
有人可以建议做错了什么吗?提前致谢。