- 1、本文档共80页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
html
body
h2MyCDCollection/h2
tableborder=1
trbgcolor=#9acd32
thTitle/th
thArtist/th
/tr
xsl:for-eachselect=catalog/cd
trtdxsl:value-ofselect=title//td
tdxsl:value-ofselect=artist//td
/tr
/xsl:for-each
/table
/body
/html
/xsl:template
/xsl:stylesheet经过XSL转换后的结果如下,在浏览器中的显示如图5-4所示。
html
body
h2MyCDCollection/h2
tableborder=1
trbgcolor=#9acd32
thTitle/th
thArtist/th
/tr
trtdEmpireBurlesque/td
tdBobDylan/td
/tr
tr
tdHideyourheart/td
tdBonnieTyler/td
/tr
/table
/body
/html图5-4XML文档经过XSL转换后在浏览器中的显示
5.6.1DOM解析器
文档对象模型(DocumentObjectModel,DOM)是一个使程序和脚本有能力动态地访问和更新XML文档内容、结构以及样式的平台和语言中立的接口。DOM是对XML文档树形结构的对象描述方法,树的节点是一个个对象。通过存取这些对象就能够存取XML文档的内容。根据DOM,XML文档中的每个成分都是一个树中的节点:5.6XML文档的解析●整个XML文档是一个文档节点;
●每个XML标签是一个元素节点;
●包含在XML元素中的数据内容是文本节点;
●每一个XML属性是一个属性节点;
●注释属于注释节点。
在程序设计中,不同的XML解析器所提供的DOM类库大致相同。以JAXP(JavaAPIforXMLProcessing)为例,DOM的基本对象主要有五个:Document、Node、NodeList、Element和Attr,如图5-5所示。
图5-5DOM的基本对象Document对象代表了整个XML的文档,所有其他的Node都以一定的顺序包含在Document对象之内,排列成一个树形的结构。程序员可以通过遍历这颗树来得到XML文档的所有内容,这也是对XML文档操作的起点。我们总是先通过解析XML源文件而得到一个Document对象,然后再来执行后续的操作。此外,Document还包含了创建其他节点的方法,如createAttribut()用来创建一个Attr对象。
Node对象是DOM结构中最为基本的对象,代表了文档树中的一个抽象的节点。在实际使用的时候,很少会真正用到Node这个对象,而是用到诸如Element、Attr、Text等Node对象的子对象来操作文档。Node对象为这些对象提供了一个抽象的、公共的根。虽然在Node对象中定义了对其子节点进行存取的方法,但是有一些Node子对象,如Text对象并不存在子节点,这一点是要注意的。NodeList对象代表了一个包含一个或者多个Node的列表。我们可以简单地把它看成一个Node的数组,并通过方法来获得列表中的元素。
Element对象代表的是XML文档中的标签元素,继承于Node,亦是Node的最主要的子对象。在标签中可以包含属性,因而Element对象中有存取其属性的方法,而任何Node中定义的方法也可以用在Element对象上。Attr对象代表了某个标签中的属性。Attr继承于Node,但是因为Attr实际上是包含在Element中的,并不能被看做Element的子对象,因而在DOM中Attr并不是DOM树的一部分,所以Node中的getparentNode()、getpreviousSibling()和getnextSibling()返回的都将是null。也就是说,Attr其实是被看做包含它的Element对象的一部分,它并不作为DOM树中单独的一个节点而出现。这一点在使用的时候要同其他的Node子对象相区别。CharacterData是文本节点类的接口,其中定义了文本
文档评论(0)