XML DOM(Document Object Model)
1、XML DOM 是用于获取、更改、添加或删除 XML 元素的标准。
2、节点(XML 文档中的每个成分都是一个节点):
整个文档是一个文档节点;
每个XML元素是一个元素节点;
包含在XML元素中的文本是文本节点;
每一个XML属性是一个属性节点;
注释是注释节点;
3、加载XML文档
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xhttp=new XMLHttpRequest(); //创建XMHHTTP对象
}
else
{
// IE6, IE5 浏览器执行代码
xhttp=new ActiveXObject("Microsoft.XMLHTTP");//创建XMHHTTP对象
}
xhttp.open("GET","books.xml",false); //打开XMLHTTP对象
xhttp.send(); //向服务器发送请求
xmlDoc=xhttp.responseXML; //设置响应为XML DOM对象
4、加载XML字符串
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(text,"text/xml");
}
else
{
// Internet Explorer
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(text);
}
5、XML DOM Node对象
属性
(xmlDoc文档节点,documentElement根节点)
nodeName 节点的名称;元素的标签名,属性的是属性名,文本的是#text,文档的是#documennt;
nodeValue 节点的值;元素是undefined,文本是本身,属性是属性值;
nodeType 节点类型;元素1,属性2,文本3,注释8,文档9;
parentNode 节点的父节点;
childNode 节点的子节点;
childNodes 节点的子节点列表;
lastChild 节点的最后一个子节点;
firstChild 节点的第一个子节点
neSibling 下一下同级节点
previousSibling 上一个同级节点
attributes 节点的属性节点;
length 节点列表的长度,即节点数量
baseUri 节点的绝对基准URI
localName 节点名称的本地部分;
namespaceURI 节点命名空间URI;
ownerDocument 节点根元素;
prefix 设置或返回节点命名空间前缀;
textContent 返回节点及其子节点的文本内容;
对象方法
x.getElementsByTagName(name) 获取带有指定标签名称的所有元素;多个同级节点用[n]数组位进行定位区分;
x.getAttributeNode(name) 获取name的属性;
x.setAttributeNode(node) 改变节点属性;
x.setAttribute(attr,str) 改变或新建属性;
xmlDoc.createAttribute(name) 创建属性节点;后用setAttributeNode将节点添加到相应位置
x.appendChild(node) 向x插入子节点;
x.removeChild(node) 向x删除子节点;删除节点本身x.parentNode.removeChild(x);
x.replaceChild() 替换子节点;
xmlDoc.createElement(name) 创建元素节点,后需要用appendChild(node)来添加到节点树中去;
xmlDoc.createTextNode(name) 创建文本节点;后需要用appendChild(node)来添加到节点树中去;
xmlDoc.createCDATASection(name) 创建CDATA Section节点;
xmlDoc.createComment(str) 创建注释节点,后需要用appendChild(node)来添加到节点树中去;
x.insertData(offset,str) 向文本节点添加文本,offset为开始添加位置;
x.cloneNode(bool) 复制节点,参数用于指示被克隆的节点是否包括原节点的所有属性和子节点;
x.compareDocumentPosition(node) 比较两个节点的文档位置;
x.hasAttributes() 返回节点是否拥有某属性;
x.hasChildNodes() 返回节点是否拥有子节点;
x.insertBefore() 在已有节点前插入节点;
x.isEqualNode() 比较两个节点是否相等;
x.isSameNode() 检查两个节点是否是同一个节点;
x.lookupNamespaceURI() 返回匹配指定前缀的命名空间URI;
x.lookPrefix() 返回匹配指定命名空间URI的前缀;
x.getFeature(feature,version) 返回DOM对象,此对象可执行带有指定特性和版本的专门的API;
x.getUserData(key) 返回与节点上键关联的对象;
x.isSupported(feature,version) 返回指定特性是否在此节点上得到支持;
x.setUserData(key,data,handler) 把对象关联到节点上的键;
x.normalize() 把节点下的所有文本节点放置到一个“标准”的格式中;
6、XML DOM Document对象
属性
nodeName 节点名称;
nodeType 节点类型;
nodeValue 节点值;
async 规定XML文件的下载是否应当被异步处理;
childNodes 返回文档的子节点的列表;
doctype 返回与文档相关的文档类型;
documentElement 返回文档根节点;
documentURI 设置或返回文档的位置;
domConfig 返回normalizeDocument() 被调用时所使用的配置;
firstChild 返回文档的第一个子节点;
lastChild 返回文档的最后一个子节点;
implementation 返回处理该文档的DOMImplementation对象;
inputEncoding 返回文档的编码方式;
strictErrorChecking设置或返回是否强制进行错误检查;
xmlEncoding 返回文档的XML编码;
xmlVersion 设置或返回文档的XML版本;
xmlStandalone 设置或返回文档是否为standalone;
方法
adoptNode(sourceenode) 从另一个文档向本文档选定一个节点,然后返回被选节点;
createAttribute(name) 创建带有指定名称的属性节点;
createAttributeNS(uri,name) 创建带有指定名称和命名空间的属性节点;
createCDATASection() 创建CDATA区段节点;
createComment() 创建注释节点;
createDocumentFragment() 创建空的DocumentFragment对象,并返回此对象;
createElement() 创建元素节点;
createElementNS() 创建带有指定命名空间的元素节点;
createEntityReference(name) 创建EntityReference对象,并返回此对象;
createProcessingInstruction() 创建ProcessingInstruction对象,并返回此对象;
createTextNode() 创建文本节点;后需要用appendChild;
getElementById(id) 返回指定Id属性的元素,如果不存在则返回null;
getElementByTagName() 返回带有指定名称的所有元素的NodeList;
getElementByTagNameNS() 返回带有指定名称和命名空间的所有元素的NodeList;
importNode(nodetoimport,deep) 从另一个文档向本文档选定一个节点。该方法创建源节点的一个副本。如果deep为true,则将导入指定节点的所有子节点,否则只导入节点本身;
normalizeDocument() 把节点下的所有文本节点放置到一个“标准”的格式中;
renameNode() 重命名元素或属性节点;
7、XML DOM Element对象
因为Element也是一种节点,所以它可以继承Node对象的属性和方法;以下是除Node所具有外的属性和方法。
属性
tagName 返回元素的名称;
schemaTypeInfo 返回与元素相关联的类型信息;
方法
getAttributeNS() 返回带命名空间的属性值;
getAttributeNodeNS() 以attribute对象返回带命名空间的属性节点;
getElementByTagNameNS() 返回匹配的带有命名空间的节点及子节点的NodeList;
setAttributeNS() 添加新的带命名空间的属性;
setAttributeNodeNS() 添加新的带命名空间属性节点;
hasAttributeNS() 返回元素是否拥有匹配指定名称和命名空间的属性;
removeAttribute() 删除指定属性;
removeAttributeNS() 删除指定带有命名空间的属性;
removeAttributeNode() 删除指定的属性节点;
8、XML DOM Attr对象
属性
name 属性的名称;
localName 属性的名称本地部分;
namespaceURI 属性命名空间URI;
nodeName 节点名称;
nodeType 节点类型;
nodeValue 节点值;
baseURI 返回属性的绝对基准URI;
isId 返回属性是否是Id类型的bool值;
ownerDocument 返回属性所属的根元素;
ownerElement 返回属性所附属元素的节点;
prefix 命名空间前缀;
schemaTypeInfo 与属性相关联的类型信息;
specified 如果属性值被设置在文档中,返回true,否则false;
textContent 属性的文本内容;
value 属性的值;
9、XML DOM Text 对象
属性
data 元素或属性的文本;
length 元素或属性的文本长度;
wholeText 以文档的顺序向此节点返回相邻文本节点的所有文本;
isElementContentWhitespace 判断文本节点是否包含空白字符; 方法
appendData() 向节点追加数据;
deleteData() 从节点删除数据;
insertData() 向节点插入数据;
replaceData() 替换节点数据;
replaceWholeText() 用指定文本来替换此节点及所有相邻的文本节点;
splitText() 在指定偏移处将此节点拆分为两个节点,同时返回包含偏移处之后的文本的新节点;
substringData() 从节点提取数据;
10、XML DOM CDATASection对象
属性
data 节点文本;
length 长度;
方法
appendData() 向节点追加数据;
deleteData() 从节点删除数据;
insertData() 向节点插入数据;
replaceData() 替换节点数据;
splitText() 在指定偏移处将此节点拆分为两个节点,同时返回包含偏移处之后的文本的新节点;
substringData() 从节点提取数据;
11、XML DOM Comment对象
属性
data 节点文本;
length 长度;
方法
appendData() 向节点追加数据;
deleteData() 从节点删除数据;
insertData() 向节点插入数据;
replaceData() 替换节点数据;
splitText() 在指定偏移处将此节点拆分为两个节点,同时返回包含偏移处之后的文本的新节点;
substringData() 从节点提取数据;
12、XMLHttpRequest对象
属性
responseXML 作为XML数据响应数据;
responseText 返回作为一个字符串的响应数据;
status 返回状态数;
statusText 返回状态文本;
onreadystatechange 存储函数,在每次readyState属性变化时被调用;
readyState 存放了XMLHttpRequest的状态,0请求未初始化,1服务器建立连接,2收到的请求,3处理请求,4请求完成和响应准备就绪;
方法
send(string) 发送请求到服务器,sttring仅用于POST请求;
abort() 取消当前请求;
open(method,url,async,uname,pswd) 规定请求类型;
getResponseHeader() 返回指定的头信息;
getAllResponseHeaders() 返回头信息;
setRequestHeader() 把值添加到要发送的头文件;
XML DOM(Document Object Model)的更多相关文章
- 认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。元素、属性和文本的树结构(节点树)。
认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面代码 ...
- 文本对象模型(Document Object Model)
本文内容: 1. 概述 2. DOM中的节点类型 3. DOM节点的选取 4. 存取元素属性 5.DOM元素的增删 6.小结 ★ 概述 文本对象模型(DOM)是一个能够让程序和脚本动态访问和更新文档内 ...
- DOM(Document Object Model)
DOM(Document Object Model): 结点的概念:整个文档就是由层次不同的多个节点组成,可以说结点代表了全部内容. 结点类型 1.元素结点 对于元素结点的n ...
- DOM (文档对象模型(Document Object Model))
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象 ...
- BOM—浏览器对象模型(Browser Object Model)
1,javascript 组成部分: 1.ECMAscript(核心标准): 定义了基本的语法,比如:if for 数组 字符串 ... 2.BOM : 浏览器对象模型(Browser ...
- BOM(Broswer Object Model)
BOM(Broswer Object Model) 方法: 框窗 1.警告框 window.alert("msg"); 2.确认框 window ...
- (3)选择元素——(2)文档对象模型(The Document Object Model)
One of the most powerful aspects of jQuery is its ability to make selecting elements in the DOM easy ...
- BOM (Browser Object Model) 浏览器对象模型
l对象的角色,因此所有在全局作用域中声明的变量/函数都会变成window对象的属性和方法; // PS:尝试访问未声明的变量会抛出错误,但是通过查询window对象,可以知道某个可能未声明的对象是否存 ...
- 浏览器对象模型BOM(Browser Object Model)
1.结构 BOM是Browser Object Model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是w ...
随机推荐
- 10.Android UiAutomator Junit 断言函数的使用
一.断言函数介绍 1.断言函数: 确定被测试的方法是否按照预期的效果正常工作 比如说: if (假设成立){ 通过测试 }else{ 报错并终止当前用例测试 } 2.断言函数用例结构: 一个完整的测试 ...
- Maven仓库--Nexus的配置使用
一.Nexus的作用 指定私服的中央地址.将自己的Maven项目指定到私服地址.从私服下载中央库的项目索引.从私服仓库下载依赖组件.将第三方项目jar上传到私服供其他项目组使用. 二.Nexus仓库 ...
- Oracl闪回数据命令。
当数据库操作没有备份,并且误删数据.可闪回任何 当前闪回15分钟前数据库状态. alter table BASE_APPOINT_LOG enable row movement;flashback ...
- 拖放API中的drag和drop实战
原文地址:→传送门 写在前面 在HTML5之前,实现拖放功能需要借助mousedown/mousemove/mouseover/mouseout/mouseup等鼠标事件来完成,HTML5中拖放API ...
- linux ll 命令参数详解
linux ll和Linuxls 的区别 可看 http://www.cnblogs.com/jxhd1/p/6548449.html 用法:ls [选项]... [文件]... 列出 FILE 的信 ...
- IO流-文件的写入和读取
1.文件写入 类: FileWriter继承自Writer(字符流基类之一,另外一个为Reader) 方法: writer(参数); 根据参数可以写入字符.字符数组.字符数组中的一部分.整型.字符串. ...
- 【洛谷 P3705】 [SDOI2017]新生舞会(费用流,01分数规划)
题目链接 看到这题我想到了以前做过的一题,名字记不清了,反正里面有"矩阵"二字,然后是道二分图匹配的题. 经典的行列连边网络流. 第\(i\)行和第\(j\)列连边,费用为\(b[ ...
- Metasploit 进阶
本文是"T00LS Metasploit(第二季)"的文档版,是个人在观看视频动手操作的一个记录,仅供学习.文中会介绍Metasploit的一些基本使用:主要包括远程代码执行.MI ...
- python3爬虫.1.简单的网页爬虫
此为记录下我自己的爬虫学习过程. 利用url包抓取网页 import urllib.request #url包 def main(): url = "http://www.douban.co ...
- RF, GBDT, XGB区别
GBDT与XGB区别 1. 传统GBDT以CART作为基分类器,xgboost还支持线性分类器(gblinear),这个时候xgboost相当于带L1和L2正则化项的逻辑斯蒂回归(分类问题)或者线性回 ...