Username: Password:

XML 取得元素的字符数据
来源:网页教学网   作者:网页教学网   发布时间:2008-03-25 09:42:54

列表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」)。

以下为引用的内容:
Moby-Dick<br /><SUBTITLE>Or,the Whale</SUBTITLE><br />

为了只取得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 节点则代表第二个字符数据区块:

以下为引用的内容:

character data block 1
sub-item text
character data block 2

表格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 中所列的一起节点属性。

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅