王朝网络
分享
 
 
 

了解XML文档对象模型

王朝other·作者佚名  2007-02-21
宽屏版  字体: |||超大  

XML文档对象模型

1)DOMDocument对象:该对象描述全部的文档映射表,文档映射表包含了XML文档里的所有信息。

常用方法

常用属性

2)IXMLDOMNode对象:该对象描述XML文档里的节点。这个节点可以是元素、属性、处理指令、文本或者其他存储在XML文档里的信息。

常用方法

常用属性

3)IXMLDOMNodeList对象:该对象描述IXMLDOMNode对象的集合,并可使用该对象遍历这个集合。IXMLDOMNodeList对象里的节点集合可以用数值该问。

常用方法

常用属性

4)IXMLDOMParseError对象:该对象用来验证XML文档对于Schema或DTD的正确性,并且取得在验证过程中产生的错误信息。

常用方法

常用属性

* DOMDocument对象常用方法:

a)createElement(elementName) ---- 该方法以元素名为参数创建一个用此参数命名的元素节点。(不能创建名称空间受限制的元素。如果要创建名称空间受限制的元素,必须使用createNode()方法)

例: doc.createElement("PRODUCT")

b)createAttribute(attributeName) ---- 该方法以属性名为参数创建一个用此参数命名的属性节点。

例: doc.createAttribute("PRODID")

c)createComment(text) ---- 该方法以字符串为参数创建一个包含此字符串的注释节点。

例: doc.createComment("This is an XML document")

d)createTextNode(text) ---- 该方法以字符串为参数创建一个包含指定字符串的正文节点。

例: doc.createTextNode("Sony Workman")

e)createNode(type,name,namespace-URI) ---- 该方法创建元素节点。三个参数,"类型"参数是variant型,既可以是字符串也可以是整型。第二个参数是字符串,它代表将要创建的节点的名字。第三个参数是代表namespace-URI的字符串。如果namespace-URI为空字符串,则新创建的节点就没有名称空间URI

例: doc.createNode("element","PRODUCT","")

doc.createNode("element","prod: PRODUCT","blog.csdn.net/fcrpg2005")

doc.createNode(1,"PRODUCT","")

f)getElementsByTagName(elementName) ---- 该方法以字符串为参数。这个字符串是要搜索的元素。返回IXMLDOMNodeList对象,包含指定元素名称的节点的集合。可以用这些节点信来浏览操纵存储在指定元素中的值。

例: doc.getEelmentsByTagName("PRICE")

g)load(XMLdocument) ---- 该方法以字符串为参数。这个字符串是XML文档的地址(HTTP地址或本地地址)

例: doc.load("http://blog.csdn.net/fcrpg2005/product.xml")

doc.load("D:\product.xml")

h)loadXML(string) ---- 该方法把成形的XML代码或整个XML文档载入DOMDocument对象中。

例: doc.loadXML("<?xml version=1.0><PRODUCTS><PRODUCT><name>Barbie Doll</name></PRODUCT></PRODUCTS>")

i)transformNode(stylesheet object) ---- 该方法以风格表对象为参数。通过把相应的风格表加到XML文档上来处理节点,然后返回转换结果。

例: doc.transformNode("product.xsl")

j)appendChild(child node) ---- 该方法以对象为参数。把这个对象作为最后的子节点加在XML文档上。createNode() 或者 createElement()方法可以创建节点或元素。但是它们不会把新建的节点加到文档树形结构上。而是需要用appendChild()方法,insertBefore()方法,或者replaceChild()方法把新建的节点加上去。

例: doc.appendChild(root) ---- PS: root是一个用createNode()或createElement()方法创建的节点

k)save(destination) ---- 该方法以对象为参数。这个对象可以是一个DOMDocument对象也可以是一个文件名。save()方法把DOMDocument对象保存在指定的目的地。

例: doc.save("http://blog.csdn.net/fcrpg2005/product.xml")

* DOMDocument对象常用属性:

a)async ---- 该属性用来指定是否允许异步加载。属性async取布尔值。

例: doc.async = false --同步

b)childNodes ---- 该属性返回属于一个父节点的子节点集合(即返回当前元素所有子元素的数组对象)。该属性的值是对象IXMLDOMNodeList的类型。

例: var firstelem = doc.childNodes.item(1)

c)documentElement ---- 该属性包含用对象DOMDocument表示的XML文档的根元素。

例: var root = doc.documentElement

d)firstChild ---- 该属性返回父元素的第一个子节点。该元素是只读的。

例: var firstelem = doc.firstChild

e)lastChild ---- 该属性返回父元素的最后一个子节点。

例: var lastelem = doc.lastChild

f)parseError ---- 该属性返回一个包含大部分最近产生的错误信息的对象。

例: var error = doc.parseError

g)readyState ---- 该属性返回XML文档的状态。它显示这个文档是否已完全载入。4个状态:0-未初始化、1-正在加载、2-已加载、3-交互中、4-已完成

例: var stateInfo = doc.readState

if(stateInfo == 4) { // Document loading

// Coding

}

h)xml ---- 该属性返回一个节点以有其子节点的XML表示。

例: document.write(doc.xml)

i)validateOnParse ---- 该属性指定解析器是否在解析XML文档时验证其合法性。

例: doc.validateOnParse = true

** IXMLDOMNode对象常用方法:

a)appendChild(newChild) ---- 该方法把节点newChild加到该方法使用的节点的子节点的末尾。

b)insertBefore(newNode, refNode) ---- 该方法把一个新节点newNode插到一个已存在节点refNode之前。

c)removeChild(nodeName) ---- 该方法删除指定的节点。

d)replaceChild(newNode, oldNode) ---- 该方法用新节点newNode替换旧节点oldNode。

e)hasChildNodes() ---- 如果IXMLDOMNode对象有子节点,该方法返回值为真(true)。

f)cloneNode(Boolean) ---- 如果参数Boolean为真,该方法返回IXMLDOMNode对象一个完全克隆。该克隆节点包含和原节点一样的子节点。

** IXMLDOMNode对象常用属性:

a)nodeName ---- 返回节点名称。

b)nodeType ---- 返回节点类型。

c)nodeValue ---- 返回节点包含的文本。

d)childNodes ---- 返回用IXMLDOMNode对象表示的节点的子节点集。

e)firstChild ---- 返回该节点的第一个子节点。

f)lastChild ---- 返回该节点的最后一个子节点。

g)text ---- 返回IXMLDOMNode在IXMLDOMNode对象中的文本。

h)xml ---- 返回IXMLDOMNode对象的XML代码

*** IXMLDOMNodeList对象常用方法:

a)item(number) ---- 该方法返回指定数值对应位置的节点。

b)nextNode() ---- 该方法返回节点集的下一个节点。

*** IXMLDOMNodeList对象常用属性:

length ---- 获得节点集中节点的个数。

**** IXMLDOMParseError对象常用属性:

a)errorCode ---- 该属性包含类型为长整型的错误代码。如果XML文档没有错误,该属性返回0。

b)reason ---- 该属性包含解释错误原因的字符串。

c)line ---- 该属性存储代表错误行数的长整型。

d)linePos ---- 该属性存储代表错误行位置的长整型。

e)srcText ---- 该属性包含引起错误的那一行字符串。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有