快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

XML 取得元素的字符数据

    列表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>Moby-Dick
<SUBTITLE>Or,the Whale</SUBTITLE>
</TITLE>
    为了只取得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 中所列的共同节点属性。
返回类别: 教程
上一教程: 使用模板执行SQL查询
下一教程: 使用XMLHTTP发送超长XML表单数据

您可以阅读与"XML 取得元素的字符数据"相关的教程:
· XML“走进”数据库
· 利用XML不离开页面刷新数据
· 利用XMLHTTP无刷新添加数据之Get篇
· 把数据转变成XML格式的好处
· 在ASP.NET中 利用数据绑定来处理XML文件
    微笑服务 优质保证 索取样品