js访问xml之 各种对象的属性和方法
2010-05-28 21:50
519 查看
js访问xml之 各种对象的属性和方法
节点对象属性
childNodes—返回节点到子节点的节点列表(x.chilidNodes 表示x对象的子节点)
firstChild—返回节点的首个子节点。(x.firstChilid 表示x对象的第一个子节点)
lastChild—返回节点的最后一个子节点。(x.lastChilid 表示x对象的最后一个子节点)
nextSibling—返回节点之后紧跟的同级节点。(x.nextSibling表示x的下一个同级节点)
(attribuetes表示属性节点)
nodeName—返回节点的名字,根据其类型。
nodeType—返回节点的类型。
nodeValue—设置或返回节点的值,根据其类型。
ownerDocument—返回节点的根元素(document对象)。(xmlDoc.documentElement表是根节点)
parentNode—返回节点的父节点。
previousSibling—返回节点之前紧跟的同级节点。
text—返回节点及其后代的文本(IE独有)。
xml—返回节点及其后代的XML(IE独有)。
节点对象的方法
appendChild()—向节点的子节点列表的结尾添加新的子节点。
cloneNode()—复制节点。
hasChildNodes()—判断当前节点是否拥有子节点。
insertBefore()—在指定的子节点前插入新的子节点。
normalize()—合并相邻的Text节点并删除空的Text节点。
removeChild()—删除(并返回)当前节点的指定子节点。
replaceChild()—用新节点替换一个子节点。
IE6独有
selectNodes()—用一个XPath表达式查询选择节点。
selectSingleNode()—查找和XPath查询匹配的一个节点。
transformNode()—使用XSLT把一个节点转换为一个字符串。
transformNodeToObject()—使用XSLT把一个节点转换成为一个文档。
NodeList对象
length –返回节点列表中的节点数目。
item()—返回节点列表中处于指定的索引号的节点。
例如:
xmlDoc = loadXMLDoc(“books.xml”);
var x = xmlDoc.getElementsByTagName(“title”);
document.write(“title element:” + x.length);
输出:title element:4
var y = xmlDoc.documentElement.childNodes;
document.write(y.item(0).nodeName);
输出:book
NamedNodeMap对象
length—返回列表中节点数目。
getNamedItem()—返回指定的节点。(通过名称)
item()—返回处于指定索引号的节点。
removeNamedItem()—删除指定的节点(根据名称)。
例如:
xmlDoc = loadXMLDoc(“books.xml”);
var x = xmlDoc.getElementsByTagName(“book”);
document.write(x.item(0).attributes.length);
输出:1
document.write(x.item(0).attributes.getNamedItem(“category”);
输出:COOKING
x.item(0).attributes.removeNamedItem(“category”);
删除第一个book元素的category属性
Document对象代表整个XML文档。
Document对象的属性。
async—规定XML文件的下载是否应当被同步处理。
childNodes—返回属于文档的子节点的节点列表。
doctype—返回与文档相关的文档类型声明。
documentElement—返回文档的子节点。
firstChild—返回文档的首个子节点。
implementation—返回处理该文档的DOMImplementation对象。(IE没有)
lastChild—返回文档的最后一个子节点。
nodeType—返回节点类型。
nodeName—依据节点的类型返回其名称。
nodeValue—依据节点的类型返回其值。
text—返回节点及其后代的文本(IE独有)。
xml—返回节点及其后代的XML(IE独有)。
Document对象的方法
createAttribute(att_name)—创建拥有指定名称的属性节点,并返回新的属性对象。
createCDATASection(data)—创建CDATA区段节点。
createComment(data)—创建注释节点。
createDocumentFragment—创建空的DocumentFragment对象,并返回此对象。
createElement(node_name)—创建元素节点。
createEntityReference(name)—创建EntityReference对象,并返回此对象。(IE独有)
createTextNode(data)—创建文本节点。
getElementById(elementid)—查找具有指定的唯一ID的元素。
getElementsByTagName(node_name)—返回所有具有指定名称的元素节点。
例如:
var xmlDoc = loadXMLDoc("book.xml");
xmlDoc.async = false;
var book = xmlDoc.getElementsByTagName("book");
var newtext1="Special Offer & Book Sale";
var newCDATA=xmlDoc.createCDATASection(newtext1);
book[0].appendChild(newCDATA);
var newtext2="Revised September 2006";
var newComment=xmlDoc.createComment(newtext2);
book[0].appendChild(newComment);
var var newel=xmlDoc.createElement('edition');
var newtext3=xmlDoc.createTextNode('First');
newel.appendChild(newtext3);
book[0].appendChild(newel);
document.write("<xmp>" + xmlDoc.xml + "</xmp>");
Element 对象的属性
attributes—返回元素的属性的NamedNodeMap
childNodes—返回元素的子节点的NodeList
firstChild—返回元素的首个子节点。
lastChild—返回元素的最后一个子节点。
nextSibling—返回元素之后紧跟的节点。
nodeName—返回节点的名称。
nodeType—返回元素的类型。
ownerDocument—返回元素所属的根元素(document对象)。
parentNode—返回元素的父节点。
previousSibling—返回元素之前紧跟的节点。
tagName—返回元素的名称。
text—返回节点及其后代的文本。(IE-only)
xml—返回节点及其后代得XML。(IE-only)
Element对象的方法
appendChild(node)—向节点的子节点列表末尾添加新的子节点。
cloneNode(true)—克隆节点。
getAttribute(att_name)—返回属性的值。
getAttributeNode(att_name)—以 Attribute 对象返回属性节点。
getElementsByTagName(node_name)—找到具有指定标签名的子孙元素。
hasAttribute(att_name)—返回元素是否拥有指定的属性。
hasAttributes()—返回元素是否拥有属性。
hasChildNodes()—返回元素是否拥有子节点。
insertBefore(new_node,existing_node)—在已有的子节点之前插入一新的子节点。
removeAttribute(att_name)—删除指定的属性。
removeAttributeNode(att_node)—删除指定的属性节点。
removeChild(node)—删除子节点。
replaceChild(new_node,old_node)—替换子节点。
setAttribute(name,value)—添加新的属性或者改变属性的值。
setAttribute(att_node)—添加新的属性。
x=xmlDoc.getElementsByTagName('book');
for(i=0;i<x.length;i++)
{
attnode=x.item(i).getAttributeNode("category");
document.write(attnode.name);
document.write(" = ");
document.write(attnode.value);
document.write("<br />");
}
for(i=0;i<x.length;i++){
document.write(x[i].getAttribute('category'));
document.write("<br />");
}
xmlDoc=loadXMLDoc("/example/xdom/books.xml");
x=xmlDoc.getElementsByTagName('book');
document.write(x[0].getAttribute('category'));
document.write("<br />");
x[0].removeAttribute('category');
document.write(x[0].getAttribute('category'));
var attnode = x[1].getAttributeNode("category");
var y = x[1].removeAttributeNode(attnode);
document.write("<xmp>" + xmlDoc.xml + "</xmp>");
function get_lastchild(n)
{
x = n.lastChild;
while(x.noteType!=1){
x = x.previousSibling;
}
return x;
}
function get_firstChild(n){
x = n.firstChild;
whild(x.nodeType!=1){
x=x.nextSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0];
deleted_node=x.removeChild(get_lastchild(x));
document.write("Node removed: " + deleted_node.nodeName);
Attr对象
Attr 对象表示 Element 对象的属性。
name—返回属性的名称。
nodeName—返回节点的名称,依据其类型
nodeType—返回节点的类型。
nodeValue—设置或返回节点的值,依据其类型
ownerDocument—返回属性所属的根元素(document对象)。
specified—如果属性值被设置在文档中,则返回 true,如果其默认值被设置在 DTD/Schema 中,则返回 false。
value—设置或返回属性的值。
text—返回属性的文本。IE-only。
xml—返回属性的 XML。IE-only。
Text对象的属性
data—设置或返回元素或属性的文本。
length—返回元素或属性的文本长度。
Text对象的方法
appendData(string)—向节点追加数据。
deleteData(start,length)—从节点删除数据。
insertData(start,string)— 向节点中插入数据。
replaceData(start,length,string)—替换节点中的数据。
replaceData(offset)— 把一个 Text 节点分割成两个。
substringData(start,length)— 从节点提取数据。
节点对象属性
childNodes—返回节点到子节点的节点列表(x.chilidNodes 表示x对象的子节点)
firstChild—返回节点的首个子节点。(x.firstChilid 表示x对象的第一个子节点)
lastChild—返回节点的最后一个子节点。(x.lastChilid 表示x对象的最后一个子节点)
nextSibling—返回节点之后紧跟的同级节点。(x.nextSibling表示x的下一个同级节点)
(attribuetes表示属性节点)
nodeName—返回节点的名字,根据其类型。
nodeType—返回节点的类型。
nodeValue—设置或返回节点的值,根据其类型。
ownerDocument—返回节点的根元素(document对象)。(xmlDoc.documentElement表是根节点)
parentNode—返回节点的父节点。
previousSibling—返回节点之前紧跟的同级节点。
text—返回节点及其后代的文本(IE独有)。
xml—返回节点及其后代的XML(IE独有)。
节点对象的方法
appendChild()—向节点的子节点列表的结尾添加新的子节点。
cloneNode()—复制节点。
hasChildNodes()—判断当前节点是否拥有子节点。
insertBefore()—在指定的子节点前插入新的子节点。
normalize()—合并相邻的Text节点并删除空的Text节点。
removeChild()—删除(并返回)当前节点的指定子节点。
replaceChild()—用新节点替换一个子节点。
IE6独有
selectNodes()—用一个XPath表达式查询选择节点。
selectSingleNode()—查找和XPath查询匹配的一个节点。
transformNode()—使用XSLT把一个节点转换为一个字符串。
transformNodeToObject()—使用XSLT把一个节点转换成为一个文档。
NodeList对象
length –返回节点列表中的节点数目。
item()—返回节点列表中处于指定的索引号的节点。
例如:
xmlDoc = loadXMLDoc(“books.xml”);
var x = xmlDoc.getElementsByTagName(“title”);
document.write(“title element:” + x.length);
输出:title element:4
var y = xmlDoc.documentElement.childNodes;
document.write(y.item(0).nodeName);
输出:book
NamedNodeMap对象
length—返回列表中节点数目。
getNamedItem()—返回指定的节点。(通过名称)
item()—返回处于指定索引号的节点。
removeNamedItem()—删除指定的节点(根据名称)。
例如:
xmlDoc = loadXMLDoc(“books.xml”);
var x = xmlDoc.getElementsByTagName(“book”);
document.write(x.item(0).attributes.length);
输出:1
document.write(x.item(0).attributes.getNamedItem(“category”);
输出:COOKING
x.item(0).attributes.removeNamedItem(“category”);
删除第一个book元素的category属性
Document对象代表整个XML文档。
Document对象的属性。
async—规定XML文件的下载是否应当被同步处理。
childNodes—返回属于文档的子节点的节点列表。
doctype—返回与文档相关的文档类型声明。
documentElement—返回文档的子节点。
firstChild—返回文档的首个子节点。
implementation—返回处理该文档的DOMImplementation对象。(IE没有)
lastChild—返回文档的最后一个子节点。
nodeType—返回节点类型。
nodeName—依据节点的类型返回其名称。
nodeValue—依据节点的类型返回其值。
text—返回节点及其后代的文本(IE独有)。
xml—返回节点及其后代的XML(IE独有)。
Document对象的方法
createAttribute(att_name)—创建拥有指定名称的属性节点,并返回新的属性对象。
createCDATASection(data)—创建CDATA区段节点。
createComment(data)—创建注释节点。
createDocumentFragment—创建空的DocumentFragment对象,并返回此对象。
createElement(node_name)—创建元素节点。
createEntityReference(name)—创建EntityReference对象,并返回此对象。(IE独有)
createTextNode(data)—创建文本节点。
getElementById(elementid)—查找具有指定的唯一ID的元素。
getElementsByTagName(node_name)—返回所有具有指定名称的元素节点。
例如:
var xmlDoc = loadXMLDoc("book.xml");
xmlDoc.async = false;
var book = xmlDoc.getElementsByTagName("book");
var newtext1="Special Offer & Book Sale";
var newCDATA=xmlDoc.createCDATASection(newtext1);
book[0].appendChild(newCDATA);
var newtext2="Revised September 2006";
var newComment=xmlDoc.createComment(newtext2);
book[0].appendChild(newComment);
var var newel=xmlDoc.createElement('edition');
var newtext3=xmlDoc.createTextNode('First');
newel.appendChild(newtext3);
book[0].appendChild(newel);
document.write("<xmp>" + xmlDoc.xml + "</xmp>");
Element 对象的属性
attributes—返回元素的属性的NamedNodeMap
childNodes—返回元素的子节点的NodeList
firstChild—返回元素的首个子节点。
lastChild—返回元素的最后一个子节点。
nextSibling—返回元素之后紧跟的节点。
nodeName—返回节点的名称。
nodeType—返回元素的类型。
ownerDocument—返回元素所属的根元素(document对象)。
parentNode—返回元素的父节点。
previousSibling—返回元素之前紧跟的节点。
tagName—返回元素的名称。
text—返回节点及其后代的文本。(IE-only)
xml—返回节点及其后代得XML。(IE-only)
Element对象的方法
appendChild(node)—向节点的子节点列表末尾添加新的子节点。
cloneNode(true)—克隆节点。
getAttribute(att_name)—返回属性的值。
getAttributeNode(att_name)—以 Attribute 对象返回属性节点。
getElementsByTagName(node_name)—找到具有指定标签名的子孙元素。
hasAttribute(att_name)—返回元素是否拥有指定的属性。
hasAttributes()—返回元素是否拥有属性。
hasChildNodes()—返回元素是否拥有子节点。
insertBefore(new_node,existing_node)—在已有的子节点之前插入一新的子节点。
removeAttribute(att_name)—删除指定的属性。
removeAttributeNode(att_node)—删除指定的属性节点。
removeChild(node)—删除子节点。
replaceChild(new_node,old_node)—替换子节点。
setAttribute(name,value)—添加新的属性或者改变属性的值。
setAttribute(att_node)—添加新的属性。
x=xmlDoc.getElementsByTagName('book');
for(i=0;i<x.length;i++)
{
attnode=x.item(i).getAttributeNode("category");
document.write(attnode.name);
document.write(" = ");
document.write(attnode.value);
document.write("<br />");
}
for(i=0;i<x.length;i++){
document.write(x[i].getAttribute('category'));
document.write("<br />");
}
xmlDoc=loadXMLDoc("/example/xdom/books.xml");
x=xmlDoc.getElementsByTagName('book');
document.write(x[0].getAttribute('category'));
document.write("<br />");
x[0].removeAttribute('category');
document.write(x[0].getAttribute('category'));
var attnode = x[1].getAttributeNode("category");
var y = x[1].removeAttributeNode(attnode);
document.write("<xmp>" + xmlDoc.xml + "</xmp>");
function get_lastchild(n)
{
x = n.lastChild;
while(x.noteType!=1){
x = x.previousSibling;
}
return x;
}
function get_firstChild(n){
x = n.firstChild;
whild(x.nodeType!=1){
x=x.nextSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0];
deleted_node=x.removeChild(get_lastchild(x));
document.write("Node removed: " + deleted_node.nodeName);
Attr对象
Attr 对象表示 Element 对象的属性。
name—返回属性的名称。
nodeName—返回节点的名称,依据其类型
nodeType—返回节点的类型。
nodeValue—设置或返回节点的值,依据其类型
ownerDocument—返回属性所属的根元素(document对象)。
specified—如果属性值被设置在文档中,则返回 true,如果其默认值被设置在 DTD/Schema 中,则返回 false。
value—设置或返回属性的值。
text—返回属性的文本。IE-only。
xml—返回属性的 XML。IE-only。
Text对象的属性
data—设置或返回元素或属性的文本。
length—返回元素或属性的文本长度。
Text对象的方法
appendData(string)—向节点追加数据。
deleteData(start,length)—从节点删除数据。
insertData(start,string)— 向节点中插入数据。
replaceData(start,length,string)—替换节点中的数据。
replaceData(offset)— 把一个 Text 节点分割成两个。
substringData(start,length)— 从节点提取数据。
相关文章推荐
- [分享]js访问xml之 各种对象的属性和方法
- js访问xml之节点对象属性和方法【1】
- JavaScript学习点滴—js对象的四种类型的属性、方法的访问
- js 获取对象属性的各种方法
- js 获取对象属性的各种方法
- js 对象拒绝访问方法和属性
- js建立XMLHttpRequest对象及其属性和方法
- js访问对象属性的两种方法
- js中event对象属性和方法
- XMLHttpRequest对象的常用方法和属性(相当重要!!!)
- 基于js对象,操作属性、方法详解
- 请问js对象属性值为什么用数组也可以访问
- 【JS--基础--对象】--基础用法(通用的Object属性和方法)
- 2018/01/08JAVA 基础 / 接口与继承:调用父类/子类的类方法、对象方法,访问父类的类属性、对象属性的方式汇总
- JS函数的原型及对象,对象方法,对象属性的学习
- XMLHttpRequest对象的属性和方法
- 对象的创建,访问类中的属性和方法
- 浅谈 JS 对象添加 getter与 setter 的5种方法以及如何让对象属性不可配置或枚举
- 面向对象,类的组合关系,继承,实现,方法重写,方法重载,this的使用,抽象方法和抽象类的比较,父类构造方法存在的意义,多态的是用和解析,各种访问修饰符