XML 取得元素的字符数据

串接样式表是一个包含安排XML 文件中元素相关指令的档案。因为你已经利用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 中所列的共同节点属性。

(0)

相关推荐

  • XML 取得元素的字符数据

    串接样式表是一个包含安排XML 文件中元素相关指令的档案.因为你已经利用XML创造了自己的元素,浏览器并不知道如何适当地显示这些元素. 列表9-3 中的script 程序使用每个子元素(TITLE.AUTHOR.BINDING.PAGES 与PRICE)的text 属性,来作为取得元素字符数据的快捷方法.例如,下列的程序代码被用来撷取TITLE元素中的字符数据: title.innerText=Document.documentElement.childNodes(0).text;    tex

  • mybatis报错元素内容必须由格式正确的字符数据或标记组成异常的解决办法

    今天同事写一个查询接口的时候,出错:元素内容必须由格式正确的字符数据或标记组成. 错误原因:mybatis查询的时候,需要用到运算符 小于号:< 和大于号: >,在mybatis配置文件里面,这种会被认为是标签,所以解析错误 错误事例: select <include refid="Base_Column_List" /> from t_time_interval where status <> 99 and time_intvl_id >=2

  • php操作xml入门之xml基本介绍及xml标签元素

    本文实例讲述了php操作xml入门之xml基本介绍及xml标签元素.分享给大家供大家参考.具体分析如下: 以xml实例来讲解: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" standalone="no" ?> <class>  <student>   <name>小乔</name>   <sex>女</sex>

  • python基于xml parse实现解析cdatasection数据

    本文实例讲述了python基于xml parse实现解析cdatasection数据的方法,分享给大家供大家参考. 具体实现方法如下: from xml.dom.minidom import * implementation = DOMImplementation() print "Core:%s" % implementation.hasFeature('core', '2.0') print "Events:%s" % implementation.hasFea

  • C#逐行分元素读取记事本数据并写入数据库的方法

    本文实例讲述了C#逐行分元素读取记事本数据并写入数据库的方法.分享给大家供大家参考.具体分析如下: 其实这里最关键的一个方法是 StreamReader类里的 ReadLine();这个方法可以逐行读取txt流里面的数据.写了个简单的demo,已经加上了详细的注释说明. ok,好了,不废话,下面直接上代码 复制代码 代码如下: public void InputData()  {      DataTable dt = new DataTable();      string strFilePa

  • java实现XML增加元素操作简单示例

    本文实例讲述了java实现XML增加元素操作.分享给大家供大家参考,具体如下: package Day01; import java.io.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.*; public

  • C#通过xpath查找xml指定元素的方法

    本文实例讲述了C#通过xpath查找xml指定元素的方法.分享给大家供大家参考.具体如下: orders.xml文档内容如下 <?xml version="1.0"?> <Order id="2004-01-30.195496"> <Client id="ROS-930252034"> <Name>Remarkable Office Supplies</Name> </Client

  • Python必备技巧之字符数据操作详解

    目录 字符串操作 字符串 + 运算符 字符串 * 运算符 字符串 in 运算符 内置字符串函数 字符串索引 字符串切片 字符串切片中的步幅 将变量插入字符串 修改字符串 内置字符串方法 bytes对象 定义文字bytes对象 bytes使用内置bytes()函数定义对象 bytes对象操作,操作参考字符串. bytearray对象,Python 支持的另一种二进制序列类型 字符串操作 字符串 + 运算符 +运算符用于连接字符串,返回一个由连接在一起的操作数组成的字符串. >>> s =

  • Java中documentHelper解析xml获取想要的数据

    目录 获取单节点数据 获取数组节点数据 webservice接口的入参和出参都是xml格式的数据,网上有很多方法,下面我将使用documentHelper工具来解析xml格式的数据,获取到自己想要的数据 获取单节点数据 假设我们接口调用成功,出参类似以下格式 <treatyroot> <returncode>0000</returncode> <message>接口调用成功</message> </treatyroot> 这是我们就可

  • javascript xml xsl取值及数据修改第1/2页

    1.example.xml--主要数据文件 <?xml version="1.0" encoding="UTF-8"?> <?xml:stylesheet type="text/xsl" href="example.xsl"?> <projects id="1">     <project title="一级标题1" index="1&

随机推荐