XML 数据岛排序

合集下载

《XML案例教程》课件第8章

《XML案例教程》课件第8章
move(n)
作用 显示第一条记录 显示上一条记录 显示下一条记录 显示最后一条记录 显示指定编号的记录(编号从 0 开始)
【例8-4】 案例说明:使用数据岛记录集属性翻页显示多条记录。 程序名称:ch8-2.xml 01 <?xml version="1.0" encoding="UTF-8"?> 02 <BookList> 03 <Book> 04 <Title>软件系统开发技术(修订版)</Title> 05 <Author>潘锦平,施小英,姚天昉</Author> 06 <Publisher>西安电子科技大学出版社</Publisher> 07 <PubDate>2001年1月</PubDate>
作用 创建超链接 在页面引入 Java 小程序 创建按钮 创建可视化的层 创建格式化内联文本 创建框架 创建内框架 插入图像 创建复选框 创建单选按钮 创建隐藏控件 创建口令输入框 创建文本输入框 创建标签 创建滚动文字 创建下拉列表 创建多行文本输入区 创建表格
表中被绑定的innerHTML属性允许XML元素内容中出 现HTML标记,这些标记在浏览器中被解释执行。当含有 HTML标记的XML元素被绑定到src、value、innerText等属 性时,浏览器不处理这些标记,只原样显示。
datafld="PubDate"></span><br/>
26
ISBN:
27
<span datasrc="#XMLData"
datafld="ISBN"></span><br/>

利用AJAX.NET与XML数据岛实现无刷新数据绑定

利用AJAX.NET与XML数据岛实现无刷新数据绑定
h w t o iewi AX n o ocmbn t AJ h a dXML D t s n oi lme tt ed t idn t o trfehn aaIl dt a mpe n h abn gwi u ers ig. a i h
【 w r 】 A A . E ;Q e e 20 ; M ;o ee ;a -on l os d J X N T S LSr r 05X L n- f s D t bud v rr h a
21 00年 2 月
廊坊师范学院学报 ( 自然科学版 )
Junl fL nfn eces oeeN tma Si c d in orao aga gT ahr C 1 g( au l c neE io ) ] e t
Fe 2 1 b.0 0
V0 . 0 No 1 1 1 .
系统存 在 一个 弊 端 : 采用 同步交 互 过程 , 户 向 用
HT P服务 器发 出请求 后 , 务 器接 收请 求 进行 处 T 服 理, 在处理 过程 中, 用户 一 直 处 于 等待 状 态 , 到服 直
务器返 回一个 HT ML页面 。当用户 量增 大时 , 户 用
在 访 问服务器 时浏览 器 就会 出现 “ 白屏 ” 用户 的体 , 验是 不连贯 的 。A A J X的 出现 , 改善 了这 一 问题 。
XML数据 岛实现无刷 新数据绑定。
【 关键词 】 AA . E ;Q e e 20 ; M ; J X N T S LSr r 05X L 无刷新 ; v 数据绑定
Usn AX . i g AJ NET n L t sa d I lm e t a d XM Da a Il n mp e n s
用户可以做其它操作。等服务器处理完用户请求之

操作XML数据岛数据

操作XML数据岛数据

操作XML数据岛数据在IE浏览器中,当为XML数据岛创建一个标识符ID的时,实际上就是创建了操作XML数据岛的数据源对象DSO。

此处DSO对象可以看作是一个DOM树模型的根节点,即将XML数据岛作为一个加载到内存中的树而处理。

DSO对象可以根据DOM的树模型结构对XML数据岛进行添加、删除和修改节点,其执行效果会显示在当前HTML页面的数据上面,但不会影响XML数据岛本身的数据改变。

下面创建一个案例,演示使用DSO对象操作XML数据岛数据。

首先创建XM将上述代码保存,名称为Example7.xml。

创建引入XML数据岛的HTML网页,将上述代码保存,名称为Example7.html。

直接双击该文件,会显示如图8-9所示窗口:图8-9 DSO操作XML数据岛单击【显示根节点名称】按钮,会调用JavaScript函数c(),其中代码“dos.doc umentElement.nodeName”表示获取根节点名称,dos为数据源对象,此处为DOM 树模型根节点,documentElement为元素根节点,nodeName表示节点名称属性。

其执行结果如图8-10所示。

图8-10 显示根节点单击【显示第一个子节点名称】,会调用JavaScript函数d()。

该函数中,代码“dos.documentElement.childNodes[0].childNodes[0].nodeName”表示获取第一个子节点名称,childNodes[0]表示元素子节点集合的第一个子节点,第一个childNodes[0]表示根节点(<图书列表>)的子节点(第一个<图书>节点)列表,第二个childNodes[0]表示第一个图书节点的第一个子节点(<标题>)。

如果要获取第一个图书节点的子节点的文本数据,还需要使用firstChild,因为文本数据节点是<标题>节点的子节点。

其执行结果如图8-11所示:图8-11 显示第一个子节点单击【增加节点】按钮,会调用add函数。

xml整理格式

xml整理格式

xml整理格式XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。

要整理XML的格式,主要包括以下几个步骤:1.缩进:对XML元素进行缩进,以提高可读性。

通常,使用空格或制表符进行缩进,使得嵌套关系更加清晰。

2.换行:将不同的XML元素放在不同的行,以避免一行过长难以阅读。

3.标签大小写:统一XML标签的大小写,通常使用小写字母,以确保一致性。

4.属性排列:如果XML元素有属性,可以按照一定规则排列,例如按照字母顺序或根据属性的功能进行排列。

5.注释:使用注释来解释XML结构或提供其他相关信息,以便阅读者更好地理解XML 文件的内容。

以下是一个简单的XML示例,演示了上述整理格式的一些基本原则:```xml<bookstore><book><title>XML教程</title><author>John Doe</author><price>29.95</price></book><book><title>Web开发指南</title><author>Jane Smith</author><price>39.99</price></book></bookstore>```这个示例中,元素之间有适当的缩进和换行,标签使用小写字母,属性没有特定的排序,但整体结构清晰可读。

具体的格式整理方式可以根据团队或个人的习惯和项目要求进行调整。

遍历XML数据岛数据

遍历XML数据岛数据

遍历XML数据岛数据我们知道,通过数据源对象DSO可以对数据岛节点进行显示、查询、修改、删除和添加等操作,这些操作的依据是建立在树模型的基础之上的。

除此之外,DS O还可以把XML数据岛作为ADO记录集进行处理,这样做的好处是可以利用AD O提供的各种方法对数据源进行访问,尤其是当把数据岛与类似SPAN、DIV和IN PUT等HTML元素绑定时。

通常这些元素显示的是记录集的首条记录,要想对记录集进行遍历浏览,一个是使用前面我们讲到的表格对象绑定,另外一个是可以使用ADO的方法结合脚本程序完成相应的浏览数据的功能。

比如创建一个按钮响应函数,只要用户点击“Next”按钮,就可以逐条浏览相应的记录。

除了显示记录数据之外,脚本程序还可以对记录集进行快速查询、排序、编辑等操作。

但要指出的是,虽然ADO技术中提供了类似SortColumn和SortAscendin g等方法对XML数据进行排序,但是效果不如XSL中的排序操作,所以建议大家充分利用XSL技术来实现这部分功能。

当DSO数据源对象作为一个记录集对象来看待的时候,该记录集对象RecordS et具有下面几个常用的属性和方法,如表8-1所示:现在创建一个案例,使用上述方法和属性遍历XML数据岛数据。

首先创建X将上述代码保存,名称为Example8.xml。

创建引入XML数据岛的HTML页面,将上述代码保存,名称为Example8.html。

直接双击该文件,会显示如图8-15所示窗口:图8-15 遍历XML数据岛数据在该案例中,首先引入XML文件Example8,即创建数据岛对象dso。

当单击按钮时,会调用相应的JavaScript方法显示数据。

在JavaScript脚本程序中,移动到第一条记录使用moveFirst()方法,向下移动一条使用moveNext()方法,移动到最后一条使用moveLast()方法,向上移动一条记录使用movePrevious()方法。

XML 数据岛数据分页显示

XML  数据岛数据分页显示
<td><div datafld="数学成绩"/></td>
</tr>
</table>
(6)创建分页表单元素,其代码为:
<body onload="ViewRecords()">
<input type="button" value="第一页" onclick="nput type="button" value="上一页" onclick="PrevPage()">
<input type="button" value="下一页" onclick="NextPage()">
<input type="button" value="最后一页" onclick="LastPage()">
(7)实现JavaScript函数,其代码为:
<script language = "JavaScript">
XML
利用DSO数据源对象,可以分页显示数据岛数据。此时是将DSO数据源对象作为ADO的RecordeSet记录集看待的,可以直接利用RecordeSet记录集提供的nextPage()和previousPage()实现分页显示。其实现步骤如下所示:
(1)分析程序。此程序难点在于理解RecordSet记录集,该程序可以分为两个部分,HTML网页和XML文件。
function ViewRecords()
{

JAXB--@XmlType注解标注xml生成顺序

JAXB--@XmlType注解标注xml⽣成顺序默认情况下,Jaxb编组出来的xml中的字段顺序是随机的,你可以使⽤@XmlType的propOrder属性来指定序列化的顺序。

第⼀步:定义java类时,使⽤@XmlType(propOrder = { "id", "name", "age","book"})指定输出顺序。

Java代码1. package step2;2. import java.util.Set;3.4. import javax.xml.bind.annotation.XmlElement;5. import javax.xml.bind.annotation.XmlElementWrapper;6. import javax.xml.bind.annotation.XmlRootElement;7. import javax.xml.bind.annotation.XmlType;8.9. @XmlRootElement10. @XmlType(propOrder = { "id", "name", "age","book"})11. public class Customer {12. String name;13. int age;14. int id;15. Set<Book> book;16. @XmlElement(name="name")17. public String getName() {18. return name;19. }20.21. public void setName(String name) {22. = name;23. }24.25. @XmlElement(name="age")26. public int getAge() {27. return age;28. }29.30. public void setAge(int age) {31. this.age = age;32. }33. @XmlElement(name="id")34. public int getId() {35. return id;36. }37.38. public void setId(int id) {39. this.id = id;40. }41.42.43. @Override44. public String toString() {45. return "Customer [id=" + id + ",name=" + name + ",age=" + age + ",book=" + book + "]";46. }47. @XmlElementWrapper(name="books")48. @XmlElement(name="book")49. public Set<Book> getBook() {50. return book;51. }52.53. public void setBook(Set<Book> book) {54. this.book = book;55. }56.57.58. }输出的xml:Xml代码1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>2. <customer>3. <id>100</id>4. <name>suo</name>5. <age>29</age>6. <books>7. <book>8. <id>1</id>9. <name>哈⾥波特</name>10. <price>100.0</price>11. </book>12. <book>13. <id>2</id>14. <name>苹果</name>15. <price>50.0</price>16. </book>17. </books>18. </customer>注:1.对于@XmlElementWrapper标注的属性,不能出现在@XmlType的propOrder列表中。

数据岛使用形式

数据岛使用形式数据岛有两种定义方式,一种是直接将上述XML数据嵌入到HTML页面中,另一种是见XML数据保存在单独的XML文件中,在HTML页面中引入XML文件中的数据。

通过datasrc,datafld属性,可以将XML数据岛绑定到HTML控件。

1.嵌入XML数据使用非官方标准的<xml>标记可以将XML数据嵌入到HTML页面中。

实际上此时可以将XML数据作为一个字符串来看待。

创建HTML页面,打开记事本,输将上述代码保存,名称为Example2.html。

直接双击该网页,会显示如图8-2所示窗口:图8-2 HTML页面嵌入XML数据在该文件中,通过使用<xml>标记包含一个xml数据岛,该部分数据是独立的,需要注意的是要给XML数据岛分配一个id,其代码为“id="note"”。

如果要使用XML文件中的数据,需要调用id号。

在下面的标记中,使用datasrc和datafld把XML中的数据和表单元素绑定。

d atasrc表示HTML标记绑定的XML数据岛名称。

datafld表示获得该XML文档指定的标记中的内容。

该方式XML中的数据和HTML显示数据的标记放在一起,没有显示出数据和显示样式的分离,不推荐这种方式。

2.引入XML文件将XML文档数据嵌入到HTML页面,是一种可行的方法,但不是一种好的方法。

我们知道数据岛产生的根本原因,就是将数据和显示样式进行分离。

在HTML 页面中引入XML文档,很好的达到了界面和数据的分离,只需要在HTML页面中嵌入“<xml id="island" src="xxx.xml"></xml>”其中id是XML文档标识符,src 属性值是xml文件存放位置。

现在创建一个案例,演示在HTML页面中引入XML文档。

首先创建XML文档,打开记事本,输入下列代码:示窗口:图8-3 HTML页面引入XML文件在该案例中,XML文件是单独存在的,HTML页面如果要使用XML中的数据,必须通过<xml></xml>标记将XML文件引入过来,并赋予该文档在HTML网页中唯一标识符。

第7章 XML数据源对象6

<OBJECT ID=”xmlDSO” CLASSID=”CLSID:550dda30-0541-11d2-9ca90060b0ec3d39”></OBJECT>
使用脚本语言加载DSO数据源 数据源(XML文件 文件) 使用脚本语言加载 数据源 文件
18
-数据源对象-
-XML基础-
7.4.2 HTML中的XML数据岛记录集页面管理
9
-数据源对象-
-XML基础-
表7.1 支持DSO的HTML元素 HTML元素 元素 a applet button div frame iframe img input type="button" input type="checkbox" input type="hidden"
-数据源对象-
可更新 否 是 否 否 否 否 否 否 是 是
【例2】只显示单条记录时的绑定方法 】 Example_2
6
-数据源对象-
-XML基础-
7.1.3 XML与HTML结合的优势
1.数据可以在本地处理 2.提供给客户端结构化数据视图 3.集成不同来源的结构化数据 4.通过粒度更新来提高性能 5.网页界面修改不易破坏数据 XML数据源对象能视为ADO Recordset 对象。
movePrevious():指向前一个数据项。 :指向前一个数据项。 moveNext():指向下一个数据项。 :指向下一个数据项。 moveFirst():指向第一个数据项。 :指向第一个数据项。 moveLast():指向最后一个数据项。 :指向最后一个数据项。 addNew():增加一个数据项。 :增加一个数据项。
呈现HTML 呈现 否 否 是 是 否 否 否 是 否 否

qdomelement attribute 顺序

QDomElement属性顺序1. 简介QDomElement是Qt中用于操作XML文档的类之一,它代表了XML文档中的元素节点。

在使用QDomElement时,了解其属性的顺序对于正确地操作XML文档非常重要。

本文将介绍QDomElement属性的顺序,以便于开发者在实际应用中能够更加高效地操作XML文档。

2. QDomElement属性列表在了解QDomElement属性的顺序之前,首先需要了解它包含的属性。

以下是QDomElement可能包含的属性列表:- tagName: 元素节点的标签名- attribute: 元素节点的属性- text: 元素节点的文本内容- firstChild: 元素节点的第一个子节点- lastChild: 元素节点的最后一个子节点- attributes: 元素节点所包含的所有属性- childNodes: 元素节点的所有子节点3. QDomElement属性顺序在实际使用QDomElement时,需要遵循一定的属性操作顺序,以确保XML文档的正确性和操作的准确性。

以下是QDomElement属性的操作顺序:- 先设置tagName属性: 由于元素节点的标签名是必须的,所以在创建或操作QDomElement时,首先需要设置tagName属性。

- 设置attribute属性: 在设置元素节点的属性时,通常需要在设置文本内容之前,因此在tagName后设置attribute属性。

- 设置text属性: 文本内容通常是在设置属性之后进行设置的,因此在设置完属性之后再设置text属性。

- 设置childNodes: 若需要设置元素节点的子节点,应在设置完tagName、attribute和text属性之后,最后设置childNodes属性。

- 获取属性值: 在读取元素节点的属性值时,同样需要遵循一定的顺序,先获取tagName,然后是attribute和text属性的值,最后是childNodes属性的值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(6)实现JavaScript函数进行排序,其代码为:
<script language="JavaScript">
function sort(sortNode,sortOn)
{
var nodes = sortNode.selectNodes("学生");
for (var i = 0; i < nodes.length; i++)
break;
}}
}
}
</script>
(7)运行。直接双击该文件,会显示如图8-2所示窗口,单击【排序】按钮,会显示如图8-3所示窗口:
图8-2排序前数据显示8-3排序后数据显示
XML
将XML文件中的数据以一定顺序显示,可以使用样式表单文件XSL和数据岛技术。其中使用XML数据岛技术显示数据,需要在HTML网页中创建JavaScript代码。本练习目的熟悉XML数据岛的树结构(类似于DOM)。其实现步骤如下所示:
(1)分析程序
(2)实现XML文档,此文档继续使用练习1中的XML文档。
(3)创建HTML网页Example11.html。
(4)在Example11.html页面引入XML文件并绑定到具体元素上,其代码为:
<xml id="tab" src="Example11.xml"></xml>
<table datasrc="#tab" border="1" width="80%">
{
var node = nodes[i];
var rows = node.selectNodes("学生");
for (var n = 0; n < rows.length; n++)
sort(node, sortOn);
var tests = node.parentNode.selectNodes("学生");
<tr>
<td> <span datafld="姓名"></span></td>
<td> <span datafld="语文成绩"></span></td>
<td> <span datafld="数学成绩"></span></td>
</tr>
</table>
(5)创建表单按钮,其代码:
<button onclick="sort(tab.documentElement,'语文成绩')" >排序</button>
for (var nd = 0; nd < tests.length; nd++)
{
var test = tests[nd];
if (test.selectSingleNode(sortOn).text > node.selectSingleNode(sortOn).text)
{
test.parentNode.insertBefore(node,test);
相关文档
最新文档