XML 取得元素的字符数据_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 中所列的共同节点属性。

时间: 2024-10-30 12:02:21

XML 取得元素的字符数据_XML基础的相关文章

XML 取得元素的字符数据

xml|数据     列表9-3 中的script 程序使用每个子元素(TITLE.AUTHOR.BINDING.PAGES 与PRICE)的text 属性,来作为取得元素字符数据的快捷方法.例如,下列的程序代码被用来撷取TITLE元素中的字符数据:title.innerText=Document.documentElement.childNodes(0).text;    text 属性不仅提供了目前节点所代表的元素其文字内容,也提供任何后续元素的文字内容.当元素没有任何子元素时,该属性可以正

不同浏览器对XML的解析是不同的_XML基础

下面这段代码在火狐能够解析,在谷歌和IE就不行了,应该如何来修改代码?如何解析XML呢? JScript code: 复制代码 代码如下: $("#result").append(xmlDoc.firstChild.localName + "<br/><hr>"); for ( var i = 0; i < xmlDoc.documentElement.childElementCount; i++) { $("#result&

XML 非法字符(转义字符)_XML基础

如往常一样, 客户发给我一个xml文件, 用来更新数码课堂日程安排--是一个js读取xml文件达到鼠标经过日历显示每日课程安排的效果,有类于Ajax数据读取(只不过数据是完全静态更新)的脚本程序 由于是两方来完成整个日程更新(客户把制作页面和更新网站分开), 给我的xml文件总是有问题, 由于经常做,知道制作方在html代码水平上还是比较初级, 所以每次更新前总要对他们给的文件校正, 果然还是有问题, 如往常一样,我检查文件内容的每个标签是否完整, 检查出一处错误,感觉应该OK了, 可是页面还是

轻松学习XML教程_XML基础

传统上,我们浏览网页,如果加入最新的数据.只能是等我们重新向服务器端请求时才能显示出来. 但是,对于一些时效性很强的网站.传统的这种做法是不能满足的. XML越来越热,关于XML的基础教程网络上也随处可见.可是一大堆的概念和术语往往让人望而生畏,很多朋友问我:XML到底有什么用,我们是否需要学习它?我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章.首先有两点是需要肯定的:  第一:XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解,等待只会让你失去机会: 

使用XMLHTTP发送超长XML表单数据_XML/RSS

在把大量的XML作为POST数据的一部分发送给你的IIS服务器的时候--诸如在ASP表单的TEXTAREA里--你可能会得到一些没有预料到的结果.当数据在服务器上被处理的时候,由于你处理数据方式的不同,你最终可能会碰到错误.其原因是,当你把数据提交回服务器的时候,POST字段里有一个(数据)大小的限制.这样做的目的是为了防止可能的入侵者在实施拒绝服务(denial of service,DoS)的攻击中向服务器发送超大量的数据.  这一限制也束缚你的能力.但是有办法解决这个问题.如果你没被限制在

XML简介_XML基础

所谓的xml,就是eXtensible Markup Language, 翻译成中文就是"可扩展标识语言",在国内很多人理解xml为html的简单扩展,这实际上是一种误解.尽管xml同html关系非常密切.   XML与SGML.HTML的关系.    SGML.HTML是XML的先驱.SGML是指"通用标识语言标准"(Standard Generalized Markup Language), 它是国际上定义电子文件结构和内容描述的标准,是一种非常复杂的文档的结构

mybatis异常 :元素内容必须由格式正确的字符数据或标记组成。

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

XML指南——XML 语法_XML基础

   XML的语法规则既简单又严格,非常容易学习和使用. 正因为如此,编写读取和操作XML的软件也是相对容易的事情. 一个XML文档的例子 XML文档使用了自描述的和简单的语法. <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Lin</to> <from>Ordm</from> <heading>Reminder<

Java递归遍历XML所有元素

做一个递归遍历XML的例子,为更为复杂的解析工作做基础. 目标:遍历所有的元素节点,并且取出来其中的值,结果打印到控制台. 源代码如下: 本程序依赖DOM4j包. import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.DocumentException; import org.dom4j.Element; import java.util.*; /** * Created by IntelliJ