版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、XML技术及应用第七章 XML的高级应用,水利水电出版社,古凌岚、罗佳等编著,知识要点,.NET技术对XML的支持 ASP.Net中实现对XML文档的处理 Java技术对XML的支持 基于Java的DOM实现对XML文档的处理 基于Java的DOM4J实现对XML文档的处理,7.1 .NET技术对XML的支持,Microsoft .NET Framework简介 Microsoft .NET Framework是构成Microsoft .NET平台的核心部分。 由公共语言运行库(CLR, Common Language Runtime)和Framework类库(FCL, Framework C
2、lass Library)两个部分构成。,7.1 .NET技术对XML的支持,Microsoft .NET Framework对XML提供的支持 ADO.NET的对象模型是以XML为核心而设计的,它在System.Xml命名空间提供了丰富的XML支持。,7.1 .NET技术对XML的支持,Microsoft .NET Framework对XML提供的支持 ADO.NET对XML文档操作有: 可从ADO.NET的数据集对象DataSet读出XML格式的数据,用于与其它分布式应用程序间的数据传送; 可将XML数据填充到DataSet对象,用于界面显示,或是更新数据库; 可从DataSet读取具有X
3、ML架构的XML格式数据,使之可序列化到流或文件中; 可从流或文件中将XML数据加载到文档对象模型(DOM)对象中,而后填充到DataSet对象或是直接作为XML文档,对数据进行处理。,7.2 ASP.NET中实现对XML文档的操作,在ASP.Net中实现XML文档的读写方法 写XML方法 WriteXML 语法:WriteXml(目标文件名,写入方式) 写入方式为XmlWriteMode(枚举类型)。XmlWriteMode的枚举值有DiffGram、IgnoreSchema、WriteSchema三个,7.2 ASP.NET中实现对XML文档的操作,在ASP.Net中实现XML文档的读写方
4、法 读XML方法 ReadXML 语法:ReadXml(目标文件名),7.2 ASP.NET中实现对XML文档的操作,综合实例:使用ASP.Net和XML实现售书管理模块 问题 书店管理系统的售书管理,需要由工作人员从图书列表中选择客户所需要的图书,加入购物清单,对购物清单进行处理(修改数量、删除订单),产生本次销售的销售清单,生成相应的XML格式文档,本次销售结束(结账)还应将此次销售清单汇总到销售单文档中。,7.2 ASP.NET中实现对XML文档的操作,实现效果,7.2 ASP.NET中实现对XML文档的操作,分析 设计售书管理模块中的Web页面 根据售书业务流程设计程序 确定所涉及的X
5、ML数据文档 关键问题之一:如何通过DataSet处理XML数据文档 关键问题之二:实现嵌套XML数据文档的写入方法 关键问题之三:销售单号如何自动生成 完整实现代码 问题扩展:将数据集对象中的表转换为指定格式或结构的XML文档,7.2 ASP.NET中实现对XML文档的操作,解决 设计售书管理模块中的Web页面,售书模块设计图,7.2 ASP.NET中实现对XML文档的操作,根据售书业务流程设计程序,7.2 ASP.NET中实现对XML文档的操作,确定所涉及的XML数据文档 书籍信息文档(BOOKLIB.xml) 销售单信息文档(SELL.xml) 员工信息文档(EMPLOYEE.xml)
6、书籍分类信息文档(CATEGORIES.xml),7.2 ASP.NET中实现对XML文档的操作,如何通过DataSet处理XML数据文档 .NET Framework提供了XmlDataDocument类与DataSet类的同步机制,即DataSet与XmlDataDocument使用同一组数据,若DataSet对数据进行了更改,则更改会在XmlDataDocument对象中得到反映,反之亦然。,7.2 ASP.NET中实现对XML文档的操作,例如: /创建XmlDataDocument对象 XmlDataDocument xmlDataDoc=new XmlDataDocument();
7、DataSet ds=new DataSet(); /通过XmlDataDocument的ReadXml方法加载XML文档 xmlDataDoc.DataSet.ReadXml(Server.MapPath(source.xml); /填充DataSet ds=xmlDataDoc.DataSet; /对DataSet中的数据进行处理 /写回XML文档 xdd.Save(Server.MapPath(shippers.xml);,7.2 ASP.NET中实现对XML文档的操作,实现嵌套XML数据文档的写入方法 DataSet与XmlDataDocument同步机制中,提供了创建表关系DataR
8、elation对象,设置其Nested属性,即可以实现表关系中的子行嵌套在父列中。,7.2 ASP.NET中实现对XML文档的操作,实现嵌套XML数据文档的写入方法 实现步骤: 创建SELL表和SELLDETAIL表结构 创建SELL表和SELLDETAIL表对象,将销售图书详细信息存入SELLDETAIL表中,将销售操作员编号、此笔销售金额、销售日期存入SELL表 创建DataSet对象,用表SELL 和SELLDETAIL填充,加入SELLID字段为关联、Nested属性为真的DataRelation对象 写入嵌套的XML文档。,7.2 ASP.NET中实现对XML文档的操作,销售单号如何
9、自动生成 利用DataSet与 XmlDataDocument的同步机制,将销售单XML数据读入DataSet对象,从DataSet对象获取最近一次销售单号,并产生新的销售单号 完整代码实现(略),7.2 ASP.NET中实现对XML文档的操作,单元练习 酒店管理系统网上订房模块,需要根据客户的查询条件进行客房信息查询,查询条件可以是单个条件(如客房类型),也可以是多条件(如客房价格、床位数量等)组合,若存在该客房,则显示客房详细信息,否则,显示“暂无此类客房”的消息。,7.3 Java技术对XML的支持,Java解析XML文档,有四种处理方法: 基于树节点文档对象模型(Document Ob
10、ject Module)的DOM 基于事件驱动的XML简单API(Simple API for XML)的SAX 专为Java设计基于树节点的处理XML 工具包JDOM(Java Document Object Model) 基于面向接口处理xml文档的DOM4J,7.3 Java技术对XML的支持,DOM DOM是一种与平台、语言无关的,处理XML文档的官方W3C标准。 DOM将XML文档视为具有层次结构的节点树,DOM中的每一项均为特殊形态的节点 对于任何节点都可以进行搜索、增加、修改或删除处理 处理前,需要分析并构造树,并加载整个XML文档到内存中,将占用较大的内存空间,从而造成程序处理
11、速度缓慢。,7.3 Java技术对XML的支持,SAX 由XML-dev的邮件列表所发展而来的 基本思想:当一个XML元素分析完,就调用相应的事件处理方法进行处理,即边解析边处理,一旦满足某个特定条件,还可以停止解析工作。 SAX的处理方式类似于流媒体,不需要将整个XML文档加载至内存,对于大型文档来说将极大地提高处理效率,7.3 Java技术对XML的支持,JDOM 第一个专为Java程序员设计的处理XML API,不支持如DOM严格的树形结构,简化了与XML的交互 通过JDOM提供的方法,获取节点集的集合形态,可以直接对元素进行操作,7.3 Java技术对XML的支持,DOM4J 由dom
12、4 出品的一个开源XML解析包,与JDOM类似,应用于Java 平台处理XML、XPath 和XSLT 基于面向接口的Java XML API 具有性能优异、功能强大和使用简单的特点,7.3 Java技术对XML的支持,四种方法的比较 DOM4J性能最好,但选择具体使用哪种可视情况而定 要求高性能,且不考虑移植,可采用DOM4J。 希望编程简单,移植性好,且文档不是很大,可选用DOM 文档大,可选用SAX,7.4 Java技术实现对XML文档的操作,利用JAXP进行DOM编程处理XML文档 DOM的5个基本对象:Document、Node、NodeList、Element和Attr,
13、7.4 Java技术实现对XML文档的操作,利用JAXP进行DOM编程处理XML文档 Document对象,7.4 Java技术实现对XML文档的操作,利用JAXP进行DOM编程处理XML文档 Node对象,7.4 Java技术实现对XML文档的操作,利用JAXP进行DOM编程处理XML文档 NodeList对象,7.4 Java技术实现对XML文档的操作,利用JAXP进行DOM编程处理XML文档 Element对象 Attr对象:代表了某个元素对象的属性,附属于Element对象,7.4 Java技术实现对XML文档的操作,实例:利用DOM实现对图书信息XML文档的读和写 问题 书店管理系统
14、的图书库存管理,工作人员可 以对库存图书进行图书查询,以及增/删图 书。库存图书XML文档BOOKLIB.xml。,7.4 Java技术实现对XML文档的操作,取出的图书列表,实现效果,增加图书的效果,删除图书效果,7.4 Java技术实现对XML文档的操作,分析 解析XML文档 获取节点集,得到图书列表 操作DOM中的节点,读取、增加以及删除图书信息 写入XML文档 主要实现代码,7.4 Java技术实现对XML文档的操作,解决 解析XML文档步骤 使用DocumentBuilderFacotry类的静态方法newInstance()创建一个解析器工厂, 该方法根据一个系统变量来决定具体使用
15、哪一个解析器 通过其静态方法newDocumentBuilder()方法创建一个DocumentBuilder对象 解析XML文档,7.4 Java技术实现对XML文档的操作,获取节点集,得到图书列表的过程 通过DOM对象的getDocumentElement(),获取DOM树的根节点 使用方法getElementsByTagName(String),得到NodeList节点集对象,7.4 Java技术实现对XML文档的操作,操作DOM中的节点,读取、增加以及删除图书信息 读取图书信息 NodeList.item(i)得到指定序号的Node对象 利用getElementsByTagName(S
16、tring)、getAttribute(String)、getTagName()访问该标签元素的文本、属性值、标签名称等信息。,7.4 Java技术实现对XML文档的操作,操作DOM中的节点,读取、增加以及删除图书信息 增加新图书 使用DOM的createElement(String)方法创建新元素 使用Element对象的setAttribute(String,String)方法可为元素设置新属性。 删除图书 doc.getDocumentElement().removeChild(指定节点元素); 说明:先获得欲删除的结点,而后移去该节点,7.4 Java技术实现对XML文档的操作,写入X
17、ML文档过程 使用TransformerFactory的静态方法newInstance(),创建一个转换器工厂对象 通过转换器工厂对象得到Transformer对象,代表一个特定的转换器对象。 调用Transformer类的transfrom(Source,Result)方法,实现输出DOM到输出流对象。 两个参数说明:数据源SourceDOM源对象,输出对象Result输出流StreamResult类对象,7.4 Java技术实现对XML文档的操作,单元练习 酒店管理系统入住资料管理,需要实现对入住信息的添加、修改处理,对于已结帐的客人,其入住信息的删除,同时与入住相关的客房信息也需要随之更
18、新状态。,7.4 Java技术实现对XML文档的操作,DOM4J处理XML文档的基本思想:将DOM树的节点集返回到一个集合,遍历DOM树。 DOM4J包含的接口,7.4 Java技术实现对XML文档的操作,DOM4J的常用对象: Document(文档) Element(元素) Node(节点) Attribute(属性) Text(文本),7.4 Java技术实现对XML文档的操作,Document(文档),Element(元素),7.4 Java技术实现对XML文档的操作,Node(节点),7.4 Java技术实现对XML文档的操作,综合实例:使用Java和DOM4J实现售书功能模块 问题
19、 书店管理系统的售书功能,由工作人员从图书列表中选择客户所需要的图书,对购物清单进行处理(修改数量、删除订单),产生本次销售的销售清单,并保存到XML格式的销售信息文档。,7.4 Java技术实现对XML文档的操作,实现效果,图书信息列表,销售清单,销售汇总信息,7.4 Java技术实现对XML文档的操作,分析 根据售书业务流程设计程序 确定所涉及的XML数据文档 关键问题之一:如何解析XML文档,获取图书列表 关键问题之二:如何创建DOM对象,以产生本次销售清单 关键问题之三:如何实现写入XML文档,保存销售清单 完整实现代码 问题扩展:高效率访问DOM对象的机制,7.4 Java技术实现对XML文档的操作,解决 根据售书业务流程设计程序 售书管理模块的方法:,7.4 Java技术实现对XML文档的操作,确定所涉及的XML数据文档 书籍信息文档(BOOKLIB.xml) 销售单信息文档(SELL.xml) 销售清
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国智能机器人应用场景创伸与工业自动化升级报告
- 2025-2030中国智能家居操作系统生态构建与头部企业竞争战略分析报告
- 2026江西萍矿总医院招聘见习康复治疗师4人备考题库【黄金题型】附答案详解
- 2026重庆财经学院财务处工作人员招聘1人备考题库带答案详解
- 2026江苏宿迁市沭阳县教师发展中心择优比选研训员6人备考题库附参考答案详解【轻巧夺冠】
- 2026河北邯郸市中西医结合医院选聘22人备考题库附参考答案详解【培优a卷】
- 2026湖南省中南林业科技大学涉外学院人才招聘备考题库及完整答案详解(名师系列)
- 2026广东佛山南海区大沥镇盐步第三幼儿园招聘备考题库【网校专用】附答案详解
- 2026广东深圳市宝安区教科院实验幼儿园招聘公办幼儿园短期主班教师1人备考题库及答案详解(夺冠系列)
- 2026云南曲靖市陆良县人力资源和社会保障局招聘公益性岗位3人备考题库含答案详解【a卷】
- 2026年职工职业技能竞赛(泵站运行工赛项)参考试指导题库(含答案)
- 2026财政部部属单位招聘80人笔试备考试题及答案解析
- 2026年教科版二年级科学下册教学计划(附教学进度表)
- 2025年陕西秦创原(咸阳)创新促进中心面向社会公开招聘12人笔试参考题库附带答案详解
- 2026年六安职业技术学院单招职业适应性考试题库及答案详解(新)
- 2025年江西传媒职业学院单招综合素质考试试题及答案解析
- 2026年大学生寒假社会实践报告(一)
- 2025年6月英语六级真题及答案-第2套
- 2026年临汾职业技术学院单招职业技能测试题库及完整答案详解一套
- (2026春新版)北师大版三年级数学下册全册教案(教学设计)
- RationalDMIS三次元作业指导书
评论
0/150
提交评论