`
楚若之夜
  • 浏览: 124996 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

JS加载 解析 XML DOM

阅读更多

Previous Page Next Page 大多数浏览器都内建了供读取和操作 XML 的 XML 解析器。

解析器把 XML 转换为 JavaScript 可存取的对象。
实例
W3School 提供的实例独立于浏览器和平台。这些实例可在所有现代浏览器中运行。

加载并解析 XML 文件
加载并解析 XML 字符串 解析 XML
所有现代浏览器都内建了用于读取和操作 XML 的 XML 解析器。

解析器把 XML 读入内存,并把它转换为可被 JavaScript 访问的 XML DOM 对象。

微软的 XML 解析器与其他浏览器中的解析器是有差异的。微软的解析器支持对 XML 文件和 XML 字符串(文本)的加载,而其他浏览器使用单独的解析器。不过,所有的解析器都含有遍历 XML 树、访问、插入及删除节点的函数。

在本教程中,我们将为您讲解如何创建可在 IE 及其他浏览器中运行的脚本。
通过微软的 XML 解析器加载 XML
微软的 XML 解析器内建于 Internet Explorer 5 及更高版本中。

下面的 JavaScript 片段把 XML 文档 ("books.xml") 载入了解析器:

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("books.xml");代码解释:
第一行创建空的微软 XML 文档对象
第二行关闭异步加载,这样可确保在文档完整加载之前,解析器不会继续执行脚本
第三行告知解析器加载名为 "books.xml" 的文档
下面的 JavaScript 片段把名为 txt 的字符串载入解析器中:

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(txt);注释:loadXML() 方法用于加载字符串(文本),而 load() 用于加载文件。
在 Firefox 及其他浏览器中的 XML 解析器
下面的 JavaScript 片段把 XML 文档 ("books.xml") 载入了解析器:

xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async="false";
xmlDoc.load("books.xml");代码解释:
第一行创建空的 XML 文档对象
第二行关闭异步加载,这样可确保在文档完整加载之前,解析器不会继续执行脚本
第三行告知解析器加载名为 "books.xml" 的文档
下面的 JavaScript 片段把名为 txt 的字符串载入解析器中:

parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");代码解释:
第一行创建一个空的 XML 文档对象
第二行告知解析器加载名为 txt 的字符串
注释:Internet Explorer 使用 loadXML() 方法来解析 XML 字符串,而其他浏览器使用 DOMParser 对象。
解析 XML 文件 - 一个跨浏览器的实例
下面的例子把 XML 文档 ("books.xml") 载入 XML 解析器:

<html>
<body>
<script type="text/javascript">
try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    xmlDoc=document.implementation.createDocument("","",null);
    }
  catch(e) {alert(e.message)}
  }
try
  {
  xmlDoc.async=false;
  xmlDoc.load("books.xml");
  document.write("xmlDoc is loaded, ready for use");
  }
catch(e) {alert(e.message)}
</script>
</body>
</html>TIY
Error: Access Across Domains
出于安全方面的原因,现代的浏览器不允许跨域的访问。

这意味着,网页以及它试图加载的 XML 文件,都必须位于相同的服务器上。

W3School 的实例所打开的 XML 文件位于 W3School 的域上。

假如你打算在自己的网页上使用上面的例子,则必须把 XML 文件放到自己的服务器上。否则,xmlDoc.load() 将产生错误 "Access is denied"。
解析 XML 字符串 - 一个跨浏览器的实例
下面的代码加载并解析了一个 XML 字符串:

<html>
<body>
<script type="text/javascript">
text="<bookstore>"
text=text+"<book>";
text=text+"<title>Harry Potter</title>";
text=text+"<author>J K. Rowling</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
text=text+"</bookstore>";

try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(text);
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(text,"text/xml");
    }
  catch(e) {alert(e.message)}
  }
document.write("xmlDoc is loaded, ready for use");
</script>
</body>
</html>
TIY

注释:Internet Explorer 使用 loadXML() 方法来解析 XML 字符串,而其他浏览器使用 DOMParser 对象。
分享到:
评论

相关推荐

    xmldom.zip

    这通常是一个JavaScript文件,例如"xmldom.js"。将这个文件添加到你的Egret项目资源目录中,确保在编译和运行时可以访问到。 2. **引入XMLDOM库**:在Egret项目的主入口文件(通常是"main.ts"或"main.lua")中,...

    js解析XML文件

    在给定的文件中,我们可以看到使用 JavaScript 解析 XML 文件的两种方法:使用 DOMParser 对象和使用 ActiveXObject 对象。 使用 DOMParser 对象 DOMParser 对象是 Mozilla 浏览器中的一种对象,用于将 XML 字符串...

    DOMParser解析xml

    DOMParser接口提供了解析XML字符串并创建DOM文档的方法,以便于开发者可以使用DOM API来查询、修改或操作XML数据。 以下是对"DOMParser解析XML"这一主题的详细说明: 1. **DOMParser的基本使用**: 使用DOMParser...

    IE下使用XML DOM解析XML文件(ASP.NET Web)

    下面是一段基本的JavaScript代码示例,展示了如何在IE中加载并解析XML文件: ```javascript // 创建XML DOM对象 var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = false; // 设置异步为false,...

    jQuery加载并解析XML

    本篇文章将深入探讨如何使用jQuery来加载和解析XML数据,这是一种常见用于传输和存储结构化数据的方式。 首先,我们需要理解XML(Extensible Markup Language)。XML是一种标记语言,允许我们创建自定义的标签来...

    Microsoft_XMLDOM帮助

    XMLDOM是微软提供的一个接口,它允许程序员通过JavaScript、VBScript或其他支持COM的编程语言来处理XML文档。这个接口为XML文档提供了结构化的表示,使得开发者可以轻松地读取、修改、创建和保存XML数据。XMLDOM是...

    DOM解析XML 创建XML

    下面我们将深入探讨DOM解析XML以及如何创建XML。 DOM解析XML的过程分为以下几个步骤: 1. **加载XML文档**:首先,我们需要通过DOM解析器加载XML文档。在JavaScript中,可以使用`DOMParser`对象的`parseFromString...

    XMLDOM对象方法手册

    XMLDOM(XML Document Object Model)是微软开发的一种用于处理XML文档的接口,它允许程序员通过JavaScript或其他脚本语言在浏览器环境中动态地访问和修改XML数据。这篇“XMLDOM对象方法手册”提供了关于如何利用XML...

    FireFox下用XML DOM解析XML文档(ASP.NET Web)

    本文将详细讲解如何在Firefox下利用XML DOM解析XML文档。 首先,理解XML DOM的概念是至关重要的。XML DOM是一种W3C标准,它定义了一个统一的、平台和语言无关的接口,允许程序和脚本动态地访问和更新XML文档的结构...

    js-xml.rar_javascript_javascript xml_js xml_js解析xml_xml js

    下面将详细探讨JavaScript解析XML的相关知识点。 1. DOM解析XML: 在JavaScript中,XML文档可以通过DOM(Document Object Model)接口来解析。DOM是一种标准,允许程序和脚本动态更新、添加和删除HTML或XML文档的...

    XMLDOM对象方法中文手册chm

    这个"XMLDOM对象方法中文手册chm"提供了关于XML DOM在中文环境下的详细指南,对于理解和应用XML DOM技术至关重要。 1. **XML DOM基本概念** - DOM是一种与平台和语言无关的接口,它将XML文档解析为一个树形结构,...

    Javascript解析服务器端XML文件

    以下是一个基本的示例,展示了如何使用JavaScript加载XML文件并进行解析: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'server_side_menu.xml', true); xhr.onreadystatechange = function() ...

    JS操作XMLDOM(遍历和打印)

    首先,我们需要通过`XMLHttpRequest`或`fetch`API加载XML文件,然后使用`DOMParser`解析XML字符串成DOM对象。 遍历XML DOM主要涉及以下步骤: 1. **获取根节点**:使用`documentElement`属性访问XML文档的根元素。...

    JavaScript解析XML文件,在网页上以目录树的形式显示

    2. **JavaScript解析XML**:JavaScript提供了两种主要的方式来解析XML,即`DOMParser`和`XMLHttpRequest`(也称为Ajax)。`DOMParser`可以将XML字符串转化为DOM对象,方便后续操作;`XMLHttpRequest`则可以异步加载...

    js 操作页面加载xml

    3. 设置响应类型为XML,以便正确解析XML数据: ```javascript xhr.responseType = 'document'; ``` 4. 注册事件监听器,处理响应数据: ```javascript xhr.onload = function() { if (xhr.status === 200) { var ...

    widget加载和解析xml 字符串实例

    本实例详细介绍了如何使用JavaScript加载和解析XML字符串,并展示了如何将提取的数据动态显示在网页上。这对于构建高效、响应式的Widget应用来说是非常有用的技能。通过这种方式,我们可以轻松地与服务器进行通信,...

    C++解析xml文档或者xml字符串方法

    在C++中,解析XML文档或XML字符串是常见的任务,特别是在需要与JavaScript或其他不支持指针的语言交互时。本文将详细介绍如何在Visual Studio 2010环境下利用Microsoft的MSXML库来处理XML数据。 首先,让我们看看...

    javascript 操作xml_dom对象整理集合

    综上所述,JavaScript操作XML DOM对象涉及到了从解析XML到动态操作文档的各个层面,同时结合JavaScript技巧,可以实现高效、灵活的Web应用开发。通过不断学习和实践,开发者能更好地驾驭这个强大的工具集。

Global site tag (gtag.js) - Google Analytics