`
demojava
  • 浏览: 548868 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

javascript解析xml(IE,FF)

阅读更多

IE写法:

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("books.xml");

• 第一行创建空的微软 XML 文档对象
• 第二行关闭异步加载,这样可确保在文档完整加载之前,解析器不会继续执行脚本
• 第三行告知解析器加载名为 "books.xml" 的文档

loadXML() 方法用于加载字符串(文本),而 load() 用于加载文件。

在 Firefox 及其他浏览器中的 XML 解析器

下面的 JavaScript 片段把 XML 文档 ("books.xml") 载入了解析器:
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async="false";
xmlDoc.load("books.xml");

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>

出于安全方面的原因,现代的浏览器不允许跨域的访问。
这意味着,网页以及它试图加载的 XML 文件,都必须位于相同的服务器上。
W3School 的实例所打开的 XML 文件位于 W3School 的域上。
假如你打算在自己的网页上使用上面的例子,则必须把 XML 文件放到自己的服务器上。否则,xmlDoc.load() 将产生错误 "Access is denied"。

分享到:
评论

相关推荐

    js解析xml文件的完整代码

    在JavaScript中解析XML文件是一项常见的任务,特别是在处理服务器返回的数据或者构建富客户端应用时。XML(eXtensible Markup Language)是一种结构化数据格式,它允许我们存储和传输信息,而JavaScript作为浏览器中...

    JS读取XML例子(兼容IE和FF).rar

    这个"JS读取XML例子(兼容IE和FF).rar"压缩包包含了一个示例,展示了如何在不依赖任何插件的情况下,使用JavaScript在Internet Explorer(IE)和Firefox(FF)等浏览器中读取XML文件。下面我们将详细探讨JavaScript...

    js操作XML文件(兼容FF,IE)

    在处理XML(可扩展标记语言)文件时,JavaScript提供了多种方法来读取、解析和修改XML数据,尽管不同浏览器(如Firefox和Internet Explorer)的实现可能存在差异。本文将详细探讨如何在JavaScript中操作XML文件,并...

    JAVASCRIPT加载XML文档及操作XML文档的方法[归类].pdf

    - 所有现代浏览器(如IE、Firefox、Chrome、Safari等)都内置了XML解析器,用于将XML文档转换为可被JavaScript访问的DOM(Document Object Model)对象。 - 微软的XML解析器(如ActiveXObject("Microsoft.XMLDOM")...

    Xml+JS省市县三级联动(兼容IE FF)

    "Xml+JS省市县三级联动(兼容IE FF)"就是一个这样的解决方案,它利用JavaScript(JS)语言处理XML文件,实现了在不同浏览器(如Internet Explorer和Firefox)中都可正常运行的联动效果。 XML(Extensible Markup ...

    省市县三级联动(支持ie ff)

    // 解析XML数据 var xmlData = ...; // 从服务器获取或本地加载XML var $xml = $(xmlData); // 初始填充省级下拉框 var $provinceSelect = $('#province'); $xml.find('province').each(function() { $...

    兼容ie6/ie7/ie8/ff 省市县的js

    标题“兼容ie6/ie7/ie8/ff 省市县的js”指的是一个JavaScript插件或库,其主要目的是解决浏览器兼容性问题,特别是针对较老版本的Internet Explorer(IE6、IE7、IE8)以及Firefox(FF)。这个选择器功能允许用户在...

    JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐) .zip

    3. **解析XML数据** 通过DOM(Document Object Model)接口,我们可以遍历XML文档,提取数据。例如,假设XML文件有以下结构: ```xml &lt;column1&gt;Value1 &lt;column2&gt;Value2 &lt;!-- 更多行... --&gt; ``` 我们...

    图片链接无虚线,保证在ff和ie下正常运行

    "&gt;IEFF ``` #### 兼容性考虑 1. **IE**:由于其独特的渲染引擎,有时需要特别的CSS Hack来兼容。例如,可以使用条件注释来为目标IE版本应用特定样式。 ```html &lt;!--[if IE]&gt; a { outline: none; } &lt;!...

    XML提问时的的的的的的附件

    在您的问题中,您遇到了一个特定的问题:XML数据可以在Internet Explorer(IE)中正常显示,但在Firefox(FF)中无法显示。这通常涉及到浏览器对XML文档的解析方式的差异以及可能的兼容性问题。 首先,让我们了解...

    js+xml生成级联下拉框代码.docx

    解析XML后,我们获取根节点`&lt;regions&gt;`下的所有省份节点,并遍历它们,为每个省份创建一个下拉框选项: ```javascript var provinces = xmlDoc.documentElement.childNodes; var provinceSelect = document....

    css下拉菜单示例,兼容ie678,ff,chrome

    不过,IE6和IE7不支持CSS3的过渡,所以可能需要使用JavaScript来实现类似效果。 3. **浏览器兼容性问题**: - **IE6、IE7**:这两个版本的浏览器不支持CSS的`:hover`伪类在非`&lt;a&gt;`元素上使用,所以通常需要借助...

    javascript 进阶篇3 Ajax 、JSON、 Prototype介绍

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Ajax中,JSON经常被用来作为数据传输格式,因为它的结构与JavaScript对象相似,能直接被JavaScript...

    JQuery生成静态柱状图实例IE6\7\8,FF兼容

    "sample.xml"可能包含了柱状图的数据,XML是一种结构化数据存储格式,易于解析和操作,适合用来传递图表的数据。 "charts_library"很可能是一个包含额外图形库的文件夹,比如一个专门处理图表的JQuery插件,例如...

    Autocomplete(自动完成 下拉提示框Ajax+ASP.NET+Jquery)(IE、FF兼容)

    Ajax,即Asynchronous JavaScript and XML,它允许我们在不刷新整个页面的情况下与服务器进行异步数据交换。在本案例中,我们可以使用jQuery的Ajax方法来实现这一功能。当用户在输入框中输入字符时,触发一个事件,...

    一个图片居中的CSS示例,兼容IE6,7,8和FF,opera,safari

    标签中提到了AJAX,它是一种异步JavaScript和XML技术,用于在不刷新整个页面的情况下更新部分网页内容。虽然在这个示例中并未直接使用AJAX,但在实际项目中,我们可能会结合AJAX来动态加载或更新图片,以实现更丰富...

    JS无限级动态菜单绑定XML,横坚可调

    3. **跨浏览器支持**:"支持FF跟IE"表明此菜单系统兼容两种主流浏览器:Firefox(FF)和Internet Explorer(IE)。这通常意味着代码包含了一些兼容性处理,以确保在不同浏览器环境下都能正常运行。 4. **CSS布局...

    js+xml生成级联下拉框代码

    ##### 4.2 解析XML并填充下拉框 ```javascript // 获取根节点下面的省节点 var provinces = xmlDoc.documentElement.childNodes; // ... for (var i = 0; i ; i++) { // 获取省节点的name属性的值 var name = ...

    开发跨浏览器的JavaScript方法说明第1/2页

    IE使用`ActiveXObject`来处理XML,例如创建一个新的DOM解析器:`var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");`。在加载XML文件时,需要设置`async`为`false`并启用`preserveWhiteSpace`以保持空白。...

    Ajax uri 乱码问题总结

    - **Firefox (FF)**:与IE不同,FF 默认使用UTF-8编码处理URI,因此在FF下使用GBK编码可能会导致乱码。为确保兼容性,通常需要将服务器配置为支持UTF-8。 2. **服务器配置**: - **Tomcat配置**:在Tomcat的`...

Global site tag (gtag.js) - Google Analytics