XMLDOM学习笔记
XMLDOM是用来访问和操作XML文档的编程接口规范。
1、简介
XMLDOM被设计为可用于任何语言和任何操作系统。借助DOM,程序员可以创建XML文档、遍历其结构,增、改、删其元素。DOM将整个XML文档视作一棵树,文档级的元素是树的根。
2、MS的XML解析,IE5.0以上。
是一个COM组件,至少包含下列对象:
(1)Micosoft.XMLDOM
(2)Micosoft.XMLDOM.parseError,有如下属性:
Property | Description |
errorCode | Returns a long integer error code |
reason | Returns a string explaining the reason for the error |
line | Returns a long integer representing the line number for the error |
linePos | Returns a long integer representing the line position for the error |
srcText | Returns a string containing the line that caused the error |
url | Returns the url pointing the loaded document |
filePos | Returns a long integer file position of the error |
(3)Microsoft.XMLHTTP,有如下属性:
Property | Description |
readyState | Returns the state of the document |
responseBody | Returns the response as an array of unsigned bytes |
responseStream | Returns the response as an IStream |
responseText | Returns the response as a string |
responseXML | Returns the response as an xml document |
status | Returns the status code as a number |
statusText | Returns the status as a string |
有如下方法:
Property | Description |
abort() | Cancel the current http request |
getAllResponseHeaders() | Returns the value of the http headers |
getResponseHeader(headerName) | Returns the value of one specified http header |
open(method, url, async, userid, password) | Opens http request, and specifies the information |
send() | Send?the http request to the server |
setRequestHeader(headerName,headerValue) | Specifies the name of a http header |
(4)Node的类型
nodeType | Named Constant | nodeTypeString | nodeName | nodeValue |
---|
1 | ELEMENT_NODE | element | tagName | null |
2 | ATTRIBUTE_NODE | attribute | name | value |
3 | TEXT_NODE | text | #text | content of node |
4 | CDATA_SECTION_NODE | cdatasection | #cdata-section | content of node |
5 | ENTITY_REFERENCE_NODE | entityreference | entity reference name | null |
6 | ENTITY_NODE | entity | entity name | null |
7 | PROCESSING_INSTRUCTION_NODE | processinginstruction | target | content of node |
8 | COMMENT_NODE | comment | #comment | comment text |
9 | DOCUMENT_NODE | document | #document | null |
10 | DOCUMENT_TYPE_NODE | documenttype | doctype name | null |
11 | DOCUMENT_FRAGMENT_NODE | documentfragment | #document fragment | null |
12 | NOTATION_NODE | notation | notation name | null |
W3C规定的属性:
Property | Description |
---|
attributes | Returns a NamedNodeMap containing all attributes for this node |
childNodes | Returns a NodeList containing all the child nodes for this node |
firstChild | Returns the first child node for this node |
lastChild | Returns the last child node for this node |
nextSibling | Returns the next sibling node. Two nodes are siblings if they have the same parent node |
nodeName | Returns the nodeName, depending on the type |
nodeType | Returns the nodeType as a number |
nodeValue | Returns, or sets, the value of this node, depending on the type |
ownerDocument | Returns the root node of the document |
parentNode | Returns the parent node for this node |
previousSibling | Returns the previous sibling node. Two nodes are siblings if they have the same parent node |
W3C规定的方法:
Method | Description |
---|
appendChild(newChild) | Appends the node newChild at the end of the child nodes for this node |
cloneNode(boolean) | Returns an exact clone of this node. If the boolean value is set to true, the cloned node contains all the child nodes as well |
hasChildNodes() | Returns true if this node has any child nodes |
insertBefore(newNode,refNode) | Inserts a new node, newNode, before the existing node, refNode |
removeChild(nodeName) | Removes the specified node, nodeName |
replaceChild(newNode,oldNode) | Replaces the oldNode, with the newNode |
(5)NodeList的W3C规定的属性和方法。
Property | Description |
---|
length | Returns the number of nodes in a nodeList |
Method | Description |
---|
item | Returns a specific node in the nodeList |