一步一步理解XMLDOM(一)

简介: 一、XML DOM中的节点类型XML DOM与HTML DOM中的节点类型相似1、整个XML文档是一个文档节点(Document)2、每个XML标签是一个元素节点(Element)3、在XML标签中的文本是一个文本节点(Text)4、在XML标签中的每个属性是一个属性节点(Attr)5、XML文档中...

一、XML DOM中的节点类型
XML DOM与HTML DOM中的节点类型相似
1、整个XML文档是一个文档节点(Document)
2、每个XML标签是一个元素节点(Element)
3、在XML标签中的文本是一个文本节点(Text)
4、在XML标签中的每个属性是一个属性节点(Attr)
5、XML文档中的注释是一个注释节点(Comment)
示例:
         <item       name="hello" >你好</item>
        element       attr              text


二、解析XML文件
1、首先创建XMLDOM对象
IE中使用        
  new ActiveXObject("Microsoft.XMLDOM");
Firefox,Opera        
  document.implementation.createDocument("","",null);
Chrome,Safari,Firefox,Opera等
  var xhr = new XMLHttpRequest();
  xhr.open("GET","XMLFileNane.xml",false);
  xhr.send(null);
  xhr.responseXML;
由于Chrome由于其安全机制限制,不能读取本地文件。
2、其次,使用Ajax技术Get方式处理,屏蔽不同浏览器之间的差异。
(1)创建XMLHttpRequest对象
        function createXHR() {
            return window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
        }
(2)创建XMLDOM对象
        function createXMLDOM(xmlfile) {
            var xhr = new createXHR();
            var xmlDom = null;
            xhr.open("GET", xmlfile, false);
            xhr.send();
            xhr.onreadyStateChange = new function () {
                if (4 == xhr.readyState && 200 == xhr.status) {
                    xmlDom = xhr.responseXML;
                }
            }
            return xmlDom;
        }

View Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>一步一步理解XMLDOM(一)---http://www.cnblogs.com/kuikui</title>
<script type="text/javascript">
function createXHR() {
return window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
}

function createXMLDOM(xmlfile) {
var xhr = new createXHR();
var xmlDom = null;
xhr.open("GET", xmlfile, false);
xhr.send();
xhr.onreadyStateChange = new function () {
if (4 == xhr.readyState && 200 == xhr.status) {
xmlDom = xhr.responseXML;
}
}
return xmlDom;
}

var xmlDom = new createXMLDOM("XMLFile.xml");
var rootNode = xmlDom.documentElement;
document.write("根节点的名称为:", rootNode.nodeName, "<br/>");
document.write("根节点的值为:", rootNode.nodeValue, "<br/>");
document.write("根节点的类型为:", rootNode.nodeType, "<br/>");

var subNodes = rootNode.childNodes;
for (var i = 0; i < subNodes.length; i++) {
document.write("第", i + 1, "个子节点的名称为:", subNodes[i].nodeName, "<br/>");
document.write("第", i + 1, "个子节点的值为:", subNodes[i].nodeValue, "<br/>");
document.write("第", i + 1, "个子节点的类型为:", subNodes[i].nodeType, "<br/>");
}
</script>
</head>
<body>
</body>
</html>

三、新年祝福
     这是年前的最后一篇文章了,马上就要过年了,祝福所有人平平安安,幸福美满,阖家欢乐。。。
    

目录
相关文章
|
8天前
|
人工智能 自然语言处理 API
深入浅出LangChain与智能Agent:构建下一代AI助手
LangChain为大型语言模型提供了一种全新的搭建和集成方式,通过这个强大的框架,我们可以将复杂的技术任务简化,让创意和创新更加易于实现。本文从LangChain是什么到LangChain的实际案例到智能体的快速发展做了全面的讲解。
279541 52
深入浅出LangChain与智能Agent:构建下一代AI助手
|
9天前
|
设计模式 人工智能 JSON
一文掌握大模型提示词技巧:从战略到战术
本文将用通俗易懂的语言,带你从战略(宏观)和战术(微观)两个层次掌握大模型提示词的常见技巧,真正做到理论和实践相结合,占领 AI 运用的先机。
237784 4
|
9天前
|
NoSQL Cloud Native Redis
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
阿里云瑶池数据库团队后续将持续参与Valkey社区,如过往在Redis社区一样耕耘,为开源社区作出持续贡献。
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
|
9天前
|
关系型数据库 分布式数据库 数据库
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
PolarDB分布式版助力《香肠派对》实现百亿好友关系20万QPS的毫秒级查询。
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
|
3天前
|
机器人 Linux API
基于Ollama+AnythingLLM轻松打造本地大模型知识库
Ollama是开源工具,简化了在本地运行大型语言模型(ile优化模型运行,支持GPU使用和热加载。它轻量、易用,可在Mac和Linux上通过Docker快速部署。AnythingLLM是Mintplex Labs的文档聊天机器人,支持多用户、多种文档格式,提供对话和查询模式,内置向量数据库,可高效管理大模型和文档。它也是开源的,能与Ollama结合使用,提供安全、低成本的LLM体验。这两款工具旨在促进本地高效利用和管理LLMs。
74692 19
|
10天前
|
消息中间件 Cloud Native Serverless
RocketMQ 事件驱动:云时代的事件驱动有啥不同?
本文深入探讨了云时代 EDA 的新内涵及它在云时代再次流行的主要驱动力,包括技术驱动力和商业驱动力,随后重点介绍了 RocketMQ 5.0 推出的子产品 EventBridge,并通过几个云时代事件驱动的典型案例,进一步叙述了云时代事件驱动的常见场景和最佳实践。
246778 2
|
7天前
|
物联网 PyTorch 测试技术
手把手教你捏一个自己的Agent
Modelscope AgentFabric是一个基于ModelScope-Agent的交互式智能体应用,用于方便地创建针对各种现实应用量身定制智能体,目前已经在生产级别落地。
|
11天前
|
弹性计算 安全 API
访问控制(RAM)|云上安全使用AccessKey的最佳实践
集中管控AK/SK的生命周期,可以极大降低AK/SK管理和使用成本,同时通过加密和轮转的方式,保证AK/SK的安全使用,本次分享为您介绍产品原理,以及具体的使用步骤。
101885 3
|
10天前
|
自然语言处理 Cloud Native Serverless
通义灵码牵手阿里云函数计算 FC ,打造智能编码新体验
近日,通义灵码正式进驻函数计算 FC WebIDE,让使用函数计算产品的开发者在其熟悉的云端集成开发环境中,无需再次登录即可使用通义灵码的智能编程能力,实现开发效率与代码质量的双重提升。
95465 4
|
2天前
|
人工智能 自然语言处理 API
Claude3是什么?
Claude 3最近备受各大媒体瞩目,成为了AI领域备受关注的新宠。在ChatGPT推出更高版本之前,Claude 3已经被公认为是语言类AI工具中的佼佼者,特别在处理逻辑性和长篇上下文方面表现突出。然而,与此同时,Claude 3的注册流程也备受诟病,被认为是所有AI工具中最为复杂的之一。 这篇内容教大家 注册Claude 3 以及升级 教程。
13684 1
Claude3是什么?