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"。
分享到:
相关推荐
在JavaScript中解析XML文件是一项常见的任务,特别是在处理服务器返回的数据或者构建富客户端应用时。XML(eXtensible Markup Language)是一种结构化数据格式,它允许我们存储和传输信息,而JavaScript作为浏览器中...
这个"JS读取XML例子(兼容IE和FF).rar"压缩包包含了一个示例,展示了如何在不依赖任何插件的情况下,使用JavaScript在Internet Explorer(IE)和Firefox(FF)等浏览器中读取XML文件。下面我们将详细探讨JavaScript...
在处理XML(可扩展标记语言)文件时,JavaScript提供了多种方法来读取、解析和修改XML数据,尽管不同浏览器(如Firefox和Internet Explorer)的实现可能存在差异。本文将详细探讨如何在JavaScript中操作XML文件,并...
- 所有现代浏览器(如IE、Firefox、Chrome、Safari等)都内置了XML解析器,用于将XML文档转换为可被JavaScript访问的DOM(Document Object Model)对象。 - 微软的XML解析器(如ActiveXObject("Microsoft.XMLDOM")...
"Xml+JS省市县三级联动(兼容IE FF)"就是一个这样的解决方案,它利用JavaScript(JS)语言处理XML文件,实现了在不同浏览器(如Internet Explorer和Firefox)中都可正常运行的联动效果。 XML(Extensible Markup ...
// 解析XML数据 var xmlData = ...; // 从服务器获取或本地加载XML var $xml = $(xmlData); // 初始填充省级下拉框 var $provinceSelect = $('#province'); $xml.find('province').each(function() { $...
标题“兼容ie6/ie7/ie8/ff 省市县的js”指的是一个JavaScript插件或库,其主要目的是解决浏览器兼容性问题,特别是针对较老版本的Internet Explorer(IE6、IE7、IE8)以及Firefox(FF)。这个选择器功能允许用户在...
3. **解析XML数据** 通过DOM(Document Object Model)接口,我们可以遍历XML文档,提取数据。例如,假设XML文件有以下结构: ```xml <column1>Value1 <column2>Value2 <!-- 更多行... --> ``` 我们...
">IEFF ``` #### 兼容性考虑 1. **IE**:由于其独特的渲染引擎,有时需要特别的CSS Hack来兼容。例如,可以使用条件注释来为目标IE版本应用特定样式。 ```html <!--[if IE]> a { outline: none; } <!...
在您的问题中,您遇到了一个特定的问题:XML数据可以在Internet Explorer(IE)中正常显示,但在Firefox(FF)中无法显示。这通常涉及到浏览器对XML文档的解析方式的差异以及可能的兼容性问题。 首先,让我们了解...
解析XML后,我们获取根节点`<regions>`下的所有省份节点,并遍历它们,为每个省份创建一个下拉框选项: ```javascript var provinces = xmlDoc.documentElement.childNodes; var provinceSelect = document....
不过,IE6和IE7不支持CSS3的过渡,所以可能需要使用JavaScript来实现类似效果。 3. **浏览器兼容性问题**: - **IE6、IE7**:这两个版本的浏览器不支持CSS的`:hover`伪类在非`<a>`元素上使用,所以通常需要借助...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Ajax中,JSON经常被用来作为数据传输格式,因为它的结构与JavaScript对象相似,能直接被JavaScript...
"sample.xml"可能包含了柱状图的数据,XML是一种结构化数据存储格式,易于解析和操作,适合用来传递图表的数据。 "charts_library"很可能是一个包含额外图形库的文件夹,比如一个专门处理图表的JQuery插件,例如...
Ajax,即Asynchronous JavaScript and XML,它允许我们在不刷新整个页面的情况下与服务器进行异步数据交换。在本案例中,我们可以使用jQuery的Ajax方法来实现这一功能。当用户在输入框中输入字符时,触发一个事件,...
标签中提到了AJAX,它是一种异步JavaScript和XML技术,用于在不刷新整个页面的情况下更新部分网页内容。虽然在这个示例中并未直接使用AJAX,但在实际项目中,我们可能会结合AJAX来动态加载或更新图片,以实现更丰富...
3. **跨浏览器支持**:"支持FF跟IE"表明此菜单系统兼容两种主流浏览器:Firefox(FF)和Internet Explorer(IE)。这通常意味着代码包含了一些兼容性处理,以确保在不同浏览器环境下都能正常运行。 4. **CSS布局...
##### 4.2 解析XML并填充下拉框 ```javascript // 获取根节点下面的省节点 var provinces = xmlDoc.documentElement.childNodes; // ... for (var i = 0; i ; i++) { // 获取省节点的name属性的值 var name = ...
IE使用`ActiveXObject`来处理XML,例如创建一个新的DOM解析器:`var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");`。在加载XML文件时,需要设置`async`为`false`并启用`preserveWhiteSpace`以保持空白。...
- **Firefox (FF)**:与IE不同,FF 默认使用UTF-8编码处理URI,因此在FF下使用GBK编码可能会导致乱码。为确保兼容性,通常需要将服务器配置为支持UTF-8。 2. **服务器配置**: - **Tomcat配置**:在Tomcat的`...