从 msxml6.dll 中获取 DOMDocument 对象的方法与属性
作者:快乐笛子 来源:快乐笛子的博客 发布时间:2009-02-22 18:46:00
一直以来都对DOMDocument与 XMLHTTP 两者的区别不甚了解,今天用 eXeScope 查看了msxml6.dll 内部的 typelib,结果有意外的收获。
以下为 XMLHTTP.6.0 与 DOMDocument.6.0 的公用方法与属性:
Class XMLHTTP60; // XML HTTP Request class 6.0
GUID={88D96A0A-F192-11D4-A65F-0040963251E5};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
function open(bstrMethod:BSTR; bstrUrl:BSTR; [varAsync:variant; bstrUser:variant; bstrPassword:variant]);
function setRequestHeader(bstrHeader:BSTR; bstrValue:BSTR);
function getResponseHeader(bstrHeader:BSTR): BSTR;
function getAllResponseHeaders: BSTR;
function send([varBody:variant]);
function abort;
property-get status: I4;
property-get statusText: BSTR;
property-get responseXML: IDispatch;
property-get responseText: BSTR;
property-get responseBody: variant;
property-get responseStream: variant;
property-get readyState: I4;
property-put onreadystatechange(IDispatch);
Class DOMDocument60; // W3C-DOM XML Document 6.0 (Apartment)
GUID={88D96A05-F192-11D4-A65F-0040963251E5};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get nodeName: BSTR;
property-get nodeValue: variant;
property-put nodeValue(variant);
property-get nodeType: DOMNodeType;
property-get parentNode: ^IXMLDOMNode;
property-get childNodes: ^IXMLDOMNodeList;
property-get firstChild: ^IXMLDOMNode;
property-get lastChild: ^IXMLDOMNode;
property-get previousSibling: ^IXMLDOMNode;
property-get nextSibling: ^IXMLDOMNode;
property-get attributes: ^IXMLDOMNamedNodeMap;
function insertBefore(newChild:^IXMLDOMNode; refChild:variant): ^IXMLDOMNode;
function replaceChild(newChild:^IXMLDOMNode; oldChild:^IXMLDOMNode): ^IXMLDOMNode;
function removeChild(childNode:^IXMLDOMNode): ^IXMLDOMNode;
function appendChild(newChild:^IXMLDOMNode): ^IXMLDOMNode;
function hasChildNodes: bool;
property-get ownerDocument: ^IXMLDOMDocument;
function cloneNode(deep:bool): ^IXMLDOMNode;
property-get nodeTypeString: BSTR;
property-get text: BSTR;
property-put text(BSTR);
property-get specified: bool;
property-get definition: ^IXMLDOMNode;
property-get nodeTypedValue: variant;
property-put nodeTypedValue(variant);
property-get dataType: variant;
property-put dataType(BSTR);
property-get xml: BSTR;
function transformNode(stylesheet:^IXMLDOMNode): BSTR;
function selectNodes(queryString:BSTR): ^IXMLDOMNodeList;
function selectSingleNode(queryString:BSTR): ^IXMLDOMNode;
property-get parsed: bool;
property-get namespaceURI: BSTR;
property-get prefix: BSTR;
property-get baseName: BSTR;
function transformNodeToObject(stylesheet:^IXMLDOMNode; outputObject:variant);
property-get doctype: ^IXMLDOMDocumentType;
property-get implementation: ^IXMLDOMImplementation;
property-get documentElement: ^IXMLDOMElement;
property-putref documentElement(^IXMLDOMElement);
function createElement(tagName:BSTR): ^IXMLDOMElement;
function createDocumentFragment: ^IXMLDOMDocumentFragment;
function createTextNode(data:BSTR): ^IXMLDOMText;
function createComment(data:BSTR): ^IXMLDOMComment;
function createCDATASection(data:BSTR): ^IXMLDOMCDATASection;
function createProcessingInstruction(target:BSTR; data:BSTR): ^IXMLDOMProcessingInstruction;
function createAttribute(name:BSTR): ^IXMLDOMAttribute;
function createEntityReference(name:BSTR): ^IXMLDOMEntityReference;
function getElementsByTagName(tagName:BSTR): ^IXMLDOMNodeList;
function createNode(type:variant; name:BSTR; namespaceURI:BSTR): ^IXMLDOMNode;
function nodeFromID(idString:BSTR): ^IXMLDOMNode;
function load(xmlSource:variant): bool;
property-get readyState: I4;
property-get parseError: ^IXMLDOMParseError;
property-get url: BSTR;
property-get async: bool;
property-put async(bool);
function abort;
function loadXML(bstrXML:BSTR): bool;
function save(destination:variant);
property-get validateOnParse: bool;
property-put validateOnParse(bool);
property-get resolveExternals: bool;
property-put resolveExternals(bool);
property-get preserveWhiteSpace: bool;
property-put preserveWhiteSpace(bool);
property-put onreadystatechange(variant);
property-put ondataavailable(variant);
property-put ontransformnode(variant);
property-get namespaces: ^IXMLDOMSchemaCollection;
property-get schemas: variant;
property-putref schemas(variant);
function validate: ^IXMLDOMParseError;
function setProperty(name:BSTR; value:variant);
function getProperty(name:BSTR): variant;
function validateNode(node:^IXMLDOMNode): ^IXMLDOMParseError;
function importNode(node:^IXMLDOMNode; deep:bool): ^IXMLDOMNode;
function ondataavailable: HResult;
function onreadystatechange: HResult;


猜你喜欢
- JS获取多选框checkbox被选中的个数。var checkbox = document.getElementsByName("
- 本文实例为大家分享了python实现简单的飞机大战的具体代码,供大家参考,具体内容如下制作初衷这几天闲来没事干,就想起来好长时间没做过游戏了
- 注意,下述部分主要与DOUBLE和FLOAT列相关,原因在于浮点数的不准确本质。MySQL使用64位十进制数值的精度执行DECIMAL操作,
- 本文实例讲述了Python列表计数及插入的用法。分享给大家供大家参考。具体如下:word=['a','b',
- 在为一个项目添加权限时,遇到一个问题,就是为项目所有的url设置权限,但是一个一个手动输入太麻烦了,所以考虑用代码获取到一个项目所有的url
- 在昨天关于substring的blog中有如下一段代码:也许你已经发现,在Python 3中其实有办法只用一行完成函数:>>&g
- 在日常开发中,我们进行用户登录的时候,大部分情况下都会使用 session 来保存用户登录信息,并以此为依据判断用户是否已登录。但其实 HT
- 权限全局配置:REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES':
- 一、sqlserver优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比
- LOAD DATA INFILE '文件地址' INTO TABLE 表名 FIELDS TERMINATED BY
- 将Timestamp转为datetime类型在Pandas中我们在处理时间序列的时候常用的方法有:pd.to_datetime()pd.da
- 删除文件os.remove( filename ) # filename: "要删
- <td width="15%" align="left">是否为分包人&l
- 如下所示:只对当前文件有效的操作:菜单栏->View -> Active Editor -> Use Soft Wraps
- python 读写中文json的实例详解读写中文json想要 读写中文json ,可以使用python中的 json 库可以对j
- 1.将 JSON 转换为 CSVimport jsonif __name__ == '__main__': &
- 最近做项目正好需要坐标的转换各地图API坐标系统比较与转换;WGS84坐标系:即地球坐标系,国际上通用的坐标系。设备一般包含GPS芯片或者北
- 简介本文主要介绍如何通过pyplot来绘制函数图。主要绘制函数如下: - 一元一次函数 - 一元二次函数 - 指数函数 - 自然对数函数 -
- 本例已经实现的数据库password,数据库的表以及表结构如下:表中已经插入的信息:实现思路无非是用户完成账户密码输入并点击登录
- 本文实例讲述了Python Django框架单元测试之文件上传测试。分享给大家供大家参考,具体如下:Submitting files is