XMLDOM对象方法:各种属性及方法

一)、节点对象的属性



以下所列为节点对象可用的属性:
1. attributes
2. baseName
3. childNodes
4. dataType
5. definition
6. firstChild
7. lastChild
8. nameSpace
9. nextSibling
10. nodeName
11. nodeStringType
12. nodeType
13. nodeTypedValue
14. nodeValue
15. ownerDocument
16. parentNode
17. prefix
18. previousSibling
19. specified
20. text
21. xml


baseName 属性
------------------

传回适当命名空间名称的基本名称。

基本语法:

strValue = xmlDocumentNode.baseName;
说明:本属性为只读。一个适当的名称如ns:base,名称右半边会被传回。在本例中,传回的值为base。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_52.htm:
strBaseName = xmlDoc.documentElement.childNodes.item(1).baseName;
alert(strBaseName);


dataType 属性
---------------

取得或设定指定节点的数据型态。

基本语法:

objValue = xmlDocumentNode.dataType;
xmlDocumentNode.dataType = objValue;
说明:此一属性可供读写,但只针对rich 数据型态做读取与设定(如果没有指定数据型态,则为null)。关于rich 数据型态请参阅附录B 。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_53.htm:
objNode = xmlDoc.documentElement.childNodes.item(1);
objNode.dataType = "string";
alert(objNode.dataType);


definition 属性
-----------------

传回在DTD 或结构(schema)中指定的节点定义。

基本语法:

objDefinition = xmlDocumentNode.definition;
说明:此一属性只读且会传回一对象。只能应用在有符合实体参照的实体上,如果不属于上述情形则会传回null。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_54.htm:
objNode = xmlDoc.documentElement.childNodes.item(1);
alert(objNode.definition);
---------------------------------------------------------------------------------
[Note]
因为这份文件不包含任何实体参照,因此传回null。
---------------------------------------------------------------------------------


nameSpace 属性
-----------------

传回命名空间的URI。

基本语法:

strURI = xmlDocumentNode.nameSpace;
说明:此属性只读且会传回一字符串,也就是URI,但不会传回命名空间的名称。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_55.htm:
objNode = xmlDoc.createNode(1,"bp:myNode","bp/nodens");
alert(objNode,nameSpace);


nodeStringType 属性
-------------------------

将节点型态以字符串传回。

基本语法:

strTypeValue = xmlDocumentNode.nodeStringType;
说明:此一属性只读且会传回一字符串。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_56.htm:
objNode = xmlDoc.documentElement.childNodes.item(0);
alert(objNode.nodeStringType);


nodeTypedValue 属性
-----------------------

将节点的值以其定义的数据型态传回。

基本语法:

objValue = xmlDocumentNode.nodeTypedValue;
xmlDocumentNode.nodeTypedValue = objValue;
说明:此一属性可供读写。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_57.htm:
objNode = xmlDoc.documentElement.childNodes.item(1);
alert(objNode.nodeTypedValue);


prefix 属性
-----------------

传回命名空间的前缀。

基本语法:
strPrefixValue = xmlDocumentNode.prefix;
说明:此一属性只读且会传回一字符串。只有命名空间的前缀会被传回。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_58.htm:
objNode = xmlDoc.createNode(1,"bp:myNode","bp/nodens");
alert(objNode.prefix);


specified 属性
------------------

说明一个节点的值是否在元素中被确切地指定,或者是否从DTD 或结构(schema)中取得,此一属性通常被用来当做属性的值。

基本语法:

boolSpecified = xmlDocumentNode.specified;
说明:此一属性只读且会传回一布尔值。若该值在元素中被指定则传回值为true,但若是来自DTD 或结构(schema)则传回值为false。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_59.htm:
objNode = xmlDoc.documentElement.childNodes.item(0);
alert(objNode.specified);


text 属性
---------------

取得或设定节点的文字。

基本语法:

strText = xmlDcoumentNode.text;xmlDocumentNode.text = strText;
说明:此属性为一可供读写的字符串值。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_60.htm:
objNode = xmlDoc.documentElement.childNodes.item(0);
alert(objNode.text);





(二)、节点对象的方法


以下所列为节点对象可用的方法:
1. appendChild
2. cloneNode
3. hasChildNodes
4. insertBefore
5. parsed
6. removeChild
7. replaceChild
8. selectNodes
9. selectSingleNode
10. transformNode


hasChildNodes 方法
----------------------

如果指定的节点有一个以上的子节点则传回true。

基本语法:

boolValue = xmlDocumentNode.hasChildNodes();
说明:此一方法只读且会传回一布尔值。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_61.htm:
objNode = xmlDoc.documentElement;
alert(objNode.hasChildNodes());






三、nodeList 物件




nodeList 对象为一在文件树中主动节点集合,「主动」的意思为只要nodeList 对象有任何改变就会立即反应到集合中。




(一)、nodeList 对象的属性



length 属性是nodeList 对象的唯一属性。


length 属性
--------------
传回集合中项目的个数。

基本语法:
intValue = xmlNodeList.length;
说明:此一属性只读且会传回一长整数值。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_62.htm:
objNodeList = xmlDoc.documentElement.childNodes;
alert(objNodeList.length);




(二)、nodeList 对象的方法


下面列出nodeList 对象可用的方法。
1. item
2. nextNode
3. reset


item 方法
--------------

存取文件树中的单一节点。

基本语法:

objDocumentNode = xmlNodeList.item(index);
说明:index 为长整数指定子节点的index(0-based)。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_63.htm:
objNode = xmlDoc.documentElement.childNodes.item(2);
alert(objNode.xml);


nextNode 方法
----------------

存取集合中的下一个节点。

基本语法:

objDocumentNode = xmlNodeList.nextNode();
说明:传回包含下一个节点的对象。若无法取得下一个节点则传回null。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_64.htm:
objNode = xmlDoc.documentElement.childNodes;
objNextNode = objNode.nextNode();
alert(objNextNode.xml);
objNextNode = objNode.nextNode();
alert(objNextNode.xml);


reset 方法
----------------

重新设定节点清单列表中的索引(index)指针。

基本语法:

objDocumentNode = xmlNodeList.reset();
说明:设定节点清单列表中的指针指向第一个节点的前面。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_65.htm:
objNode = xmlDoc.documentElement.childNodes;
objNextNode = objNode.nextNode();
alert(objNextNode.xml);
objNode.reset();
objNextNode = objNode.nextNode();
alert(objNextNode.xml);









四 、parseError 物件







parseError 对象传回最后一个解析错误的信息。

要示范parseError 对象如何运作,我们需要使用一份有错误的XML 文件,如下文字码A-1a 所示(在随书光盘中AppxA/Lsta_1a.xml),是一份保有Cc、Bcc 元素的电子邮件文件,根据DTD 这是一篇错误的电子邮件文件。

<?xml version="1.0"?>
<!DOCTYPE EMAIL SYSTEM "LstA_2.dtd">
<EMAIL PRIORITY="HIGH">
<TO>Jodie@msn.com</TO>
<FROM>Bill@msn.com</FROM>
<BCC>Naomi@msn.com</BCC>
<CC>Philip@msn.com</CC>
<SUBJECT>My document is a tree.</SUBJECT>
<BODY>This is an example of a tree structure.</BODY>
</EMAIL>

[文字码A-1a]





(一)、parseError 对象的属性




以下所列为parseError 对象可用的属性:
1. errorCode
2. filePos
3. line
4. linePos
5. reason
6. srcText
7. url


errorCode 属性
--------------------

传回最后一个解析错误的错误码。

基本语法:

intErrorValue = xmlDocument.parseError.errorCode;
说明此一属性只读且会传回一长整数。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_66.htm:
intParseValue = xmlDoc.parseError.errorCode;
alert(intParseValue);


filePos 属性
----------------

传回档案中错误发生的位置。

基本语法:

intErrorValue = xmlDocument.parseError.filePos;
说明:此一属性只读,且会传回表示绝对位置的长整数(以字符数表示)。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_67.htm:
intParseValue = xmlDoc.parseError.filePos;
alert(intParseValue);


line 属性
---------------

传回错误发生所在的行数。

基本语法:

intErrorValue = xmlDocument.parseError.line;
说明此一属性只读,且会传回表示错误发生所在行数的长整数。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_68.htm:
intParseValue = xmlDoc.parseError.line;
alert(intParseValue);


linePos 属性
----------------

传回错误发生在行中的哪个位置。

基本语法:
intErrorValue = xmlDocument.parseError.linePos;
说明:此一属性只读,且会传回一长整数表示错误发生在行中的哪一个字符位置。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_69.htm:
intParseValue = xmlDoc.parseError.linePos;
alert(intParseValue);


reason 属性
-----------------

传回最后一个错误发生的原因。

基本语法:

strErrorReason = xmlDocument.parseError.reason;
说明:此一属性只读,且会传回最后一个解析错误发生原因的叙述字符串。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_70.htm:
strErrorReason = xmlDoc.parseError.reason;
alert(strErrorReason);


srcText 属性
----------------

传回错误发生处该行的文字。

基本语法:
strSrcText = xmlDocument.parseError.srcText;
说明:此一属性只读。传回错误发生处该行完整的文字,而且包含空格。

使用范例:

以下的范例请参照随书光盘中的AppxA/LstA_71.htm:
strSrcText = xmlDoc.parseError.srcText;
alert(strSrcText); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值