js里各浏览器解析XML,支持IE、火狐、Chrome等

简介:

js在chrome中加载XML,js加载XML支持ff,IE6+,Opera等浏览器

 

见代码:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js里各浏览器解析XML,支持IE、火狐、Chrome等</title>
</head>
<body>
    <script>
        function loadxmlDoc(file){
            try{
                //IE
                xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
            }catch(e){
                ////Firefox, Mozilla, Opera, etc
                xmlDoc=document.implementation.createDocument("","",null);
            }

            try{
                xmlDoc.async=false;
                xmlDoc.load(file);//chrome没有load方法
            }catch(e){
                //针对Chrome,不过只能通过http访问,通过file协议访问会报错
                var xmlhttp = new window.XMLHttpRequest();  
                xmlhttp.open("GET",file,false);  
                xmlhttp.send(null);  
                xmlDoc = xmlhttp.responseXML.documentElement; 
            }
            return xmlDoc;
        }

        var ob=loadxmlDoc("stu.xml");
        var stu=ob.getElementsByTagName("stu");
        for(var i=0;i<stu.length;i++){
            var  data=stu[i].childNodes;
            for(var j=0;j<data.length;j++){
                if(data[j].nodeType==1){
                    if(document.all)
                        document.write(data[j].text+" ");//IE
                    else
                        document.write(data[j].textContent+" ");
                }
            }
            document.write("<br/>");
        }
    </script>
</body>
</html>

 

 

附stu.xml


<?xml version="1.0" encoding="UTF-8"?>
<stulist>
    <stu>
        <name>张三</name>
        <age>20</age>
        <sex>男</sex>
        <classid>lamp87</classid>
    </stu>
    <stu>
        <name>李四</name>
        <age>22</age>
        <sex>女</sex>
        <classid>lamp86</classid>
    </stu>
    <stu>
        <name>王五</name>
        <age>21</age>
        <sex>女</sex>
        <classid>lamp87</classid>
    </stu>
     <stu>
        <name>王五</name>
        <age>21</age>
        <sex>女</sex>
        <classid>lamp87</classid>
    </stu>
    <stu>
        <name>赵六</name>
        <age>24</age>
        <sex>男</sex>
        <classid>lamp88</classid>
    </stu>
</stulist>


目录
相关文章
|
11月前
|
JavaScript 前端开发 IDE
TypeScript vs. JavaScript:技术对比与核心差异解析
TypeScript 作为 JavaScript 的超集,通过静态类型系统、编译时错误检测和强大的工具链支持,显著提升代码质量与可维护性,尤其适用于中大型项目和团队协作。相较之下,JavaScript 更灵活,适合快速原型开发。本文从类型系统、错误检测、工具支持等多维度对比两者差异,并提供技术选型建议,助力开发者合理选择。
1736 1
|
11月前
|
JavaScript 前端开发 开发者
Nest.js控制器深度解析:路由与请求处理的高级特性
以上就是对 NestJS 控制层高级特性深度解析:从基本概念到异步支持再到更复杂场景下拦截其与管道等功能性组件运用都有所涉及,希望能够帮助开发者更好地理解和运用 NestJS 进行高效开发工作。
545 15
|
11月前
|
存储 JavaScript 前端开发
JavaScript 语法全面解析
JavaScript 语法体系丰富且不断更新,从基础的变量声明、数据类型,到复杂的函数、对象、异步语法,每个知识点都需要开发者深入理解并灵活运用。本文梳理的 JS 语法核心内容,可为开发者提供系统的学习框架,后续还需通过大量实践(如编写交互组件、实现业务逻辑)巩固知识,逐步提升 JS 编程能力,应对前端开发中的各类挑战。
|
机器学习/深度学习 JavaScript 前端开发
JS进阶教程:递归函数原理与篇例解析
通过对这些代码示例的学习,我们已经了解了递归的原理以及递归在JS中的应用方法。递归虽然有着理论升华,但弄清它的核心思想并不难。举个随手可见的例子,火影鸣人做的影分身,你看到的都是同一个鸣人,但他们的行为却能在全局产生影响,这不就是递归吗?雾里看花,透过其间你或许已经深入了递归的魅力之中。
488 19
|
编解码 JavaScript 前端开发
【Java进阶】详解JavaScript的BOM(浏览器对象模型)
总的来说,BOM提供了一种方式来与浏览器进行交互。通过BOM,你可以操作窗口、获取URL、操作历史、访问HTML文档、获取浏览器信息和屏幕信息等。虽然BOM并没有正式的标准,但大多数现代浏览器都实现了相似的功能,因此,你可以放心地在你的JavaScript代码中使用BOM。
432 23
|
JSON 前端开发 Serverless
Mock.js 语法结构全解析
Mock.js 的语法规范介绍,从数据模板定义规范和数据占位符定义规范俩部分介绍, 让你更好的使用 Mock.js 来模拟数据并提高开发效率。
|
Web App开发 前端开发 JavaScript
折腾之王:JavaScript之父Brave浏览器与BAT的诞生
2015年,JavaScript之父Brendan Eich再次创业,推出Brave浏览器和加密货币Basic Attention Token(BAT),旨在颠覆传统广告行业。Brave屏蔽广告、保护隐私,加载速度快;BAT则通过奖励机制让用户、内容创作者和广告主三方受益。尽管面临用户习惯和巨头竞争的挑战,Brave已拥有超4000万月活跃用户,成为全球增长最快的隐私浏览器,引领Web3生态发展。
671 22
折腾之王:JavaScript之父Brave浏览器与BAT的诞生
|
Web App开发 人工智能 JSON
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
AutoMouser是一款Chrome扩展程序,能够实时跟踪用户交互行为,并基于OpenAI的GPT模型自动生成Selenium测试代码,简化自动化测试流程。
1430 17
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
|
数据采集 前端开发 JavaScript
金融数据分析:解析JavaScript渲染的隐藏表格
本文详解了如何使用Python与Selenium结合代理IP技术,从金融网站(如东方财富网)抓取由JavaScript渲染的隐藏表格数据。内容涵盖环境搭建、代理配置、模拟用户行为、数据解析与分析等关键步骤。通过设置Cookie和User-Agent,突破反爬机制;借助Selenium等待页面渲染,精准定位动态数据。同时,提供了常见错误解决方案及延伸练习,帮助读者掌握金融数据采集的核心技能,为投资决策提供支持。注意规避动态加载、代理验证及元素定位等潜在陷阱,确保数据抓取高效稳定。
670 17
|
数据采集 Web App开发 监控
深度解析:使用ChromeDriver和webdriver_manager实现无头浏览器爬虫
在现代网络爬虫实践中,动态网页加载和反爬虫机制增加了数据采集的难度。采用无头浏览器技术(如Selenium与ChromeDriver)可有效模拟用户行为、执行JavaScript,获取动态内容。通过设置代理IP、伪装User-Agent和处理Cookies,提升爬虫隐蔽性和稳定性。该方案适用于电商价格监控、社交媒体数据采集和招聘信息抓取等场景,实现更高效的数据获取。
1213 2
深度解析:使用ChromeDriver和webdriver_manager实现无头浏览器爬虫

推荐镜像

更多
  • DNS