0
我目前从win32com软件包开始。我有哪里我使用的Python编程COM对象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'
有谁能够有什么样的建议我做错了什么?提前致谢。
我从来没有使用MSXML与Python,所以我不能评估代码的Python部分,但据我记得,当你使用例如从JScript或VBScript 'foo:method(。)'在XSLT端,您不会将单个节点传递给方法,而是选择https://msdn.microsoft.com/zh-cn/library/ms759171(v=vs.85 ).aspx,所以你可能想试试你的Python代码是否可以转换为选择而不是节点。 –
谢谢。你是对的,_obj_是DOM选择 –