当前位置: 首页 > 图文教程 > XML家族 > XML > XML 取得元素的字符数据

XML
XML简易教程之四
XML与HTML的结合(上)
XML与HTML的结合(下)
XML入门的常见问题(一)
XML入门的常见问题(二)
XMLHTTP资料
什么是XML
什么是 XML Web Service
XML正在接管Web服务 成为SOA的基础
怎么样在网页上读取远程xml的数据
XML教程—编写结构完整的XML文档
读写xml文件的2个小函数
XML文档的基本操作
初学者如何开发出一个高质量的J2EE系统
优化 JavaScript 代码
自动更新程序的设计框架
使Firefox对XML的处理兼容IE的节点处理方法
WML学习之四 锚和任务
WML学习之五 显示表单
WML学习之六 事件

XML 取得元素的字符数据


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 38 ::
收藏到网摘: n/a

列表9-3 中的script 程序使用每个子元素(TITLE、AUTHOR、BINDING、PAGES 与PRICE)的text 属性,来作为取得元素字符数据的快捷方法。例如,下列的程序代码被用来撷取TITLE元素中的字符数据:

title.innerText=Document.documentElement.childNodes(0).text;

text 属性不仅提供了目前节点所代表的元素其文字内容,也提供任何后续元素的文字内容。当元素没有任何子元素时,该属性可以正确地撷取元素中的文字内容(如元素TITLE)。然而,如果元素包含一个以上的子元素与字符数据,则text 属性将传回所有的文字,如同下面范例所示(在这个范例中是「Moby-Dick Or,the Whale」)。

为了只取得TITLE 元素的字符数据,你必须存取TITLE 元素的子文字节点。

表格9-1 中,Element 节点的nodeValue 属性的值是null。如果元素包含了字符数据,则文字将被储存于子Text 节点,而你可以从此Text 节点的nodeValue 属性来存取字符数据。例如,如同前面范例所示,如果TITLE 元素的Element 节点包含文字「Moby-Dick」,则下面的程序代码将提供TITLE 的字符数据「Moby-Dick」,而不含属于SUBTITLE 的字符数据:

Element.firstChild.nodeValue

(因为TITLE 元素的字符数据位置在其子元素的前面,所以由第一个子节点来表示字符数据,因此你可以使用firstChild 属性来撷取字符数据。)如果元素的字符数据与子元素、批注,或处理指令散置在一起,则每个个别的字符数据区块将表示成为元素所属的子Text 节点。例如,在下面范例中,ITEM 元素拥有三个子节点,其顺序为:Text 节点表示第一个字符数据区块,Element 节点表示子元素SUB-ITEM,而另一个Text 节点则代表第二个字符数据区块:

以下为引用的内容:
<ITEM>
character data block 1
<SUB-ITEM>sub-item text</SUB-ITEM>
character data block 2
</ITEM>

表格9-5 分别列出Text 节点所提供的有用属性和方式:

Text 节点的属性 描述 范例

Length 此节点的文字包含的字符个数 CharacterCount =Text.length;

Text 节点的方法 描述 范例

SubstringData(char-offset,num-chars) 传回一个包含特定字符数目的字符串,该字符串从节点的文字内容而来。

char-offset 为子字符串的起始位置,和num-chars 为子字符串的长度 SubString =Text.substringData(2,3); (从Text 元素的内容传回第二、三、四等三个字符)

表格9-5 文字节点分别提供一个有用的属性和方法,可使用的属性也包括了表格9-2 中所列的共同节点属性。