~.qTp.~ 好久不见~~~ Hey dude @ Long time no see ·^o^·

xmldom 对象--用于qtp读取xml文件

上一篇 / 下一篇  2010-03-17 11:37:00 / 个人分类:.qTp. 为卿加冕

xmldom

读取、更新、创建和处理一个XML文档,需要一个XML parser(语法分析器).
  一、微软的XML Parser
  微软的XML Parser是一个COM组件,它是随ie5及以上一起的。一但你安装了ie,那么这个分析器对脚本就
  是有效的。
  微软的XML Parser提供了所有必须的函数来访问结点以及它们的属性以及插入、删除结点和转换结点树到
  XML。
  下面列出了通常为微软的XML Parser所支持的结点类型:
  结点类型 例子
  处理指令 <?xml version="1.0"?>
  元素 <drink type="beer">Carlsberg</drink>
  属性 type="beer"
  文本 Carlsberg
  MSXML Parser 2.5是和Windows2000、ie5.5一起的
  MSXML Parser 3.0是和Windowsxp、ie6.0一起的
  MSXML Parser 3.0的特点:
  1、支持Javascrīpt, VBscrīpt, Perl, VB, Java, C++等
  2、完全支持XML
  3、完全支持DOM和名字空间
  4、DTD及确认
  5、完全支持XSLT和XPath
  6、支持SAX2
  7、Server-safe HTTP
  用Javascrīpt来创建Microsoft's XML parser实例的代码如下:
  var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
  用VBscrīpt来创建Microsoft's XML parser实例的代码如下:
  set xmlDoc=CreateObject("Microsoft.XMLDOM")
  在ASP页创建Microsoft's XML parser实例的代码如下:
  set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
  下面的代码装载一个XML文档(note.xml)到Microsoft's XML parser中:
  <scrīpt type="text/javascrīpt">
  var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
  xmlDoc.async="false"
  xmlDoc.load("note.xml")
  ...
  ...
  ...
  </scrīpt>
  说明:
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM")创建一个 Microsoft XML parser的实例。
  xmlDoc.load("note.xml")告诉语法分析器去装载一个名为note.xml的XML文档。
  xmlDoc.async="false"关闭异步装载,以便于等到XML文档完全装载后分析器才继续脚本的执行。
  二、Mozilla Browsers的XML Parser
  一个简单的XML文档在Mozilla Browsers中以类似树的结构显示(像ie),Mozilla 也支持Javascrīpt,
  被分析的数据能够显示为HTML。
  在Mozilla Browsers中用Javascrīpt来创建Microsoft's XML parser实例的代码如下:
  var xmlDoc=document.implementation.createDocument("ns","root",null)
  说明:
  "ns"定义XML文档所使用的名字空间;
  "root"是XML的根元素;
  null是第三个参数,必须是null。
  下面的代码装载note.xml到Mozillas' XML parser中:
  <scrīpt type="text/javascrīpt">
  var xmlDoc=document.implementation.createDocument("","",null);
  xmlDoc.load("note.xml");
  ...
  ...
  ...
  </scrīpt>
  说明类似MSXML Parser。
  三、一个跨浏览器的代码
  <html>
  <head>
  <scrīpt type="text/javascrīpt">
  var xmlDoc
  function loadXML()
  {
  //load xml file
  // code for IE
  if (window.ActiveXObject)
  {
  xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async=false;
  xmlDoc.load("note.xml");
  getmessage()
  }
  // code for Mozilla, etc.
  else if (document.implementation &&
  document.implementation.createDocument)
  {
  xmlDoc= document.implementation.createDocument("","",null);
  xmlDoc.load("note.xml");
  xmlDoc.onload=getmessage
  }
  else
  {
  alert('Your browser cannot handle this scrīpt');
  }
  }function getmessage()
  {
  document.getElementById("to").innerHTML=
  xmlDoc.getElementsByTagName("to")[0].firstChild.nodeValue
  document.getElementById("from").innerHTML=
  xmlDoc.getElementsByTagName("from")[0].firstChild.nodeValue
  document.getElementById("message").innerHTML=
  xmlDoc.getElementsByTagName("body")[0].firstChild.nodeValue
  }
  </scrīpt>
  </head><body bgcolor="yellow">
  <h1>W3Schools Internal Note</h1>
  To:[font id="to"][/font]
  From:[font id="from"][/font]
  <hr />
  Message:[font id="message"][/font]
  </body>
  </html>
  四、装载XML文本到语法分析器中
  ie支持两种方法装载XML:
  load():装载XML文件
  loadXML():一个包含XML代码的文本字符串
  下面是一个loadXML()的例子:
  <scrīpt type="text/javascrīpt">
  var txt="<note>"
  txt=txt+"<to>Tove</to><from>Jani</from>"
  txt=txt+"<heading>Reminder</heading>"
  txt=txt+"<body>Don't forget me this weekend!</body>"
  txt=txt+"</note>"
  var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
  xmlDoc.async="false"
  xmlDoc.loadXML(txt)
  ...
  ...
  ...</scrīpt>

TAG:

 

评分:0

我来说两句

Open Toolbar