设为首页
收藏本站
最新电影
> 子栏目 Asp | Jsp | XML | XSL | Div+Css | 自定义函数 | 数据库 | 脚本特效
您现在的位置: 首页=>后台技术=>XML 订阅本栏目  
XMLDOM介绍及用法
时间: 2007-09-29 10:15:08 阅读次数:3603


下载:http://www.hlib.cn/down/down.asp?downid=358飞飞Asp技术乐.园

XMLDOM是用来访问和操作XML文档的编程接口规范
 

  1、简介
  XMLDOM被设计为可用于任何语言和任何操作系统借助DOM,程序员可以创建XML文档、遍历其结构,增、改、删其元素DOM将整个XML文档视作一棵树,文档级的元素是树的根飞飞A.sp技术乐园

  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


 

XMLHTTP对象及其方法
------------------
MSXML中提供了Microsoft.XMLHTTP对象,能够完成从数据包到Request对象的转换以及发送任务
创建XMLHTTP对象的语句如下:
Set objXML = CreateObject("Msxml2.XMLHTTP") 或
Set objXML = CreateObject(“Microsoft.XMLHTTP”)
' Or, for version 3.0 of XMLHTTP, use:
' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
对象创建后调用Open方法对Request对象进行初始化,语法格式为:
poster.open http-method, url, async, userID, password
Open方法中包含了5个参数,前三个是必要的,后两个是可选的(在服务器需要进行身份验证时提供)参数的含义如下所示: 
http-method: HTTP的通信方式,比如GET或是 POST
url: 接收XML数据的服务器的URL地址通常在URL中要指明 ASP或CGI程序
async: 一个布尔标识,说明请求是否为异步的如果是异步通信方式(true),客户机就不等待服务器的响应;如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作
userID 用户ID,用于服务器身份验证
password 用户密码,用于服务器身份验证
XMLHTTP对象的Send方法
用Open方法对Request对象进行初始化后,调用Send方法发送XML数据:
poster.send XML-data
Send方法的参数类型是Variant,可以是字符串、DOM树或任意数据流飞飞A,sp技术乐园发送数据的方式分为同步和异步两种在异步方式下,数据包一旦发送完毕,就结束Send进程,客户机执行其他的操作;而在同步方式下,客户机要等到服务器返回确认消息后才结束Send进程
XMLHTTP对象中的readyState属性能够反映出服务器在处理请求时的进展状况客户机的程序可以根据这个状态信息设置相应的事件处理方法属性值及其含义如下表所示:
值 说明
0 Response对象已经创建,但XML文档上载过程尚未结束
1 XML文档已经装载完毕
2 XML文档已经装载完毕,正在处理中
3 部分XML文档已经解析
4 文档已经解析完毕,客户端可以接受返回消息
客户机处理响应信息
客户机接收到返回消息后,进行简单的处理,基本上就完成了C/S之间的一个交互周期客户机接收响应是通过XMLHTTP对象的属性实现的:
● responseTxt:将返回消息作为文本字符串;
● responseXML:将返回消息视为XML文档,在服务器响应消息中含有XML数据时使用;
● responseStream:将返回消息视为Stream对象
 

下面的xml文件是动态生成的最后用xmlHTTP传送出去,这是一个在客户端JavaScript脚本里的内容,当然你也可以写在服务器,但是要相应的改一些东西:(仅供大家参考,了解它的用法)
var xmlDoc=new ActiveXObject("MSXML2.DOMDocument");
flag=xmlDoc.loadXML("");

  newNode =xmlDoc.createElement("编码")
  MarkNode=xmlDoc.documentElement.appendChild(newNode);
  newNode =xmlDoc.createElement("StartMark")
  newNode.text=StartMark;
  MarkNode.appendChild(newNode)
  newNode =xmlDoc.createElement("EndMark")
  newNode.text=EndMark;
  MarkNode.appendChild(newNode)
 
  newNode =xmlDoc.createElement("日期")
  DateNode=xmlDoc.documentElement.appendChild(newNode);
  newNode =xmlDoc.createElement("StartDate");
  newNode.text=StartDate;
  DateNode.appendChild(newNode)
  newNode =xmlDoc.createElement("EndDate")
  newNode.text=EndDate;
  DateNode.appendChild(newNode);
 
  newNode =xmlDoc.createElement("数量")
  SLNode =xmlDoc.documentElement.appendChild(newNode);
  newNode =xmlDoc.createElement("StartSL")
  newNode.text=StartShuL
  SLNode.appendChild(newNode)
  newNode =xmlDoc.createElement("EndSL");
  newNode.text=EndShuL
  SLNode.appendChild(newNode);
 
  newNode =xmlDoc.createElement("单价")
  DJNode =xmlDoc.documentElement.appendChild(newNode)
  newNode =xmlDoc.createElement("StartDJ")
  newNode.text=StartDanJ;
  DJNode.appendChild(newNode);
  newNode =xmlDoc.createElement("EndDJ")
  newNode.text=EndDanJ;
  DJNode.appendChild(newNode);
 
  newNode =xmlDoc.createElement("金额")
  JENode =xmlDoc.documentElement.appendChild(newNode)
  newNode =xmlDoc.createElement("StartJE")
  newNode.text=StartJinE
  JENode.appendChild(newNode)
  newNode =xmlDoc.createElement("EndJE")
  newNode.text=EndJinE
  JENode.appendChild(newNode)
 
  newNode =xmlDoc.createElement("仓库代码")
  newNode.text=CK;
  xmlDoc.documentElement.appendChild(newNode)
 
  newNode =xmlDoc.createElement("票号")
  newNode.text=RKPH;
  xmlDoc.documentElement.appendChild(newNode)
 
  newNode =xmlDoc.createElement("单位代码")
  newNode.text=CorpName;
  xmlDoc.documentElement.appendChild(newNode)
 
  newNode =xmlDoc.createElement("BiaoShi")
  newNode.text=Biaoshi
  xmlDoc.documentElement.appendChild(newNode)
 
  newNode =xmlDoc.createElement("FindCate")
  newNode.text=FindCate
  xmlDoc.documentElement.appendChild(newNode)
 
  var xh =new ActiveXObject("MSXML2.XMLHTTP")
  xh.open("POST","Find.asp",false)
  xh.setRequestHeader("Content-Type","text/xml")
  xh.setRequestHeader("Content-Type","gb2312")
  xh.send(xmlDoc);
我的每一个newNode的text值是一个变量,也就是我客户端form 中input的值




站内搜索    

下一篇ASCII码表

上一篇暂无

本栏目最新 栏目最新列表
Google站点地图sitemap的基本格式
XML CDATA
ASCII码表
XMLDOM介绍及用法
网站优化策划 栏目最新列表
增加网站外链的快速方法
网站上线前必做的30个检查
新的友情链接参考标准(没有google的PR情况
优化Google的AdSense广告的五个工具
王通讲SEO八大基础
站点最新 站点最新列表
微博推广的一些技巧
xhEditor v1.1.7 发布,
收集的一些轻量级非常实
50个新鲜兼容最新版本的
javascript中cookie的设
Excel中出现#VALUE!、#D
jquery插件:飞飞表情插件
十个使用HTML5开发的精彩
支持HTML5的浏览器有哪些
飞妮莫属:漫画:如何写出
历史最热10条信息  
MIME介绍 及 [1] [2] [3]
巧用Google和迅雷来下载
VIA Rhine II Fast Ethe
Transact SQL 常 [1] [2]
电脑常用端 [1] [2] [3]
十道羊皮卷 欣赏+mp3版+
Do you get a kick out
每日一句:A friend and
每日一句:Theres no tu
网站开发常用手册
相关文章
Microsoft.XMLHTTP的
使用XMLHttp和ADODB
XMLDOM介绍及用法
XML加载图片
解析XMLHttpRequest
使用xmlhttp远程获取
XML CDATA
xml_基础学习完全手
XML轻松学习手册
XML实用大全1-18章
 
 width= 
伟哥博客 西安房产 123最新电影 三四六四