已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XML技术及应用第七章XML的高级应用,水利水电出版社,古凌岚、罗佳等编著,知识要点,.NET技术对XML的支持ASP.Net中实现对XML文档的处理Java技术对XML的支持基于Java的DOM实现对XML文档的处理基于Java的DOM4J实现对XML文档的处理,7.1.NET技术对XML的支持,Microsoft.NETFramework简介Microsoft.NETFramework是构成Microsoft.NET平台的核心部分。由公共语言运行库(CLR,CommonLanguageRuntime)和Framework类库(FCL,FrameworkClassLibrary)两个部分构成。,7.1.NET技术对XML的支持,Microsoft.NETFramework对XML提供的支持ADO.NET的对象模型是以XML为核心而设计的,它在System.Xml命名空间提供了丰富的XML支持。,7.1.NET技术对XML的支持,Microsoft.NETFramework对XML提供的支持ADO.NET对XML文档操作有:可从ADO.NET的数据集对象DataSet读出XML格式的数据,用于与其它分布式应用程序间的数据传送;可将XML数据填充到DataSet对象,用于界面显示,或是更新数据库;可从DataSet读取具有XML架构的XML格式数据,使之可序列化到流或文件中;可从流或文件中将XML数据加载到文档对象模型(DOM)对象中,而后填充到DataSet对象或是直接作为XML文档,对数据进行处理。,7.2ASP.NET中实现对XML文档的操作,在ASP.Net中实现XML文档的读写方法写XML方法WriteXML语法:WriteXml(目标文件名,写入方式)写入方式为XmlWriteMode(枚举类型)。XmlWriteMode的枚举值有DiffGram、IgnoreSchema、WriteSchema三个,7.2ASP.NET中实现对XML文档的操作,在ASP.Net中实现XML文档的读写方法读XML方法ReadXML语法:ReadXml(目标文件名),7.2ASP.NET中实现对XML文档的操作,综合实例:使用ASP.Net和XML实现售书管理模块问题书店管理系统的售书管理,需要由工作人员从图书列表中选择客户所需要的图书,加入购物清单,对购物清单进行处理(修改数量、删除订单),产生本次销售的销售清单,生成相应的XML格式文档,本次销售结束(结账)还应将此次销售清单汇总到销售单文档中。,7.2ASP.NET中实现对XML文档的操作,实现效果,7.2ASP.NET中实现对XML文档的操作,分析设计售书管理模块中的Web页面根据售书业务流程设计程序确定所涉及的XML数据文档关键问题之一:如何通过DataSet处理XML数据文档关键问题之二:实现嵌套XML数据文档的写入方法关键问题之三:销售单号如何自动生成完整实现代码问题扩展:将数据集对象中的表转换为指定格式或结构的XML文档,7.2ASP.NET中实现对XML文档的操作,解决设计售书管理模块中的Web页面,售书模块设计图,7.2ASP.NET中实现对XML文档的操作,根据售书业务流程设计程序,7.2ASP.NET中实现对XML文档的操作,确定所涉及的XML数据文档书籍信息文档(BOOKLIB.xml)销售单信息文档(SELL.xml)员工信息文档(EMPLOYEE.xml)书籍分类信息文档(CATEGORIES.xml),7.2ASP.NET中实现对XML文档的操作,如何通过DataSet处理XML数据文档.NETFramework提供了XmlDataDocument类与DataSet类的同步机制,即DataSet与XmlDataDocument使用同一组数据,若DataSet对数据进行了更改,则更改会在XmlDataDocument对象中得到反映,反之亦然。,7.2ASP.NET中实现对XML文档的操作,例如:/创建XmlDataDocument对象XmlDataDocumentxmlDataDoc=newXmlDataDocument();DataSetds=newDataSet();/通过XmlDataDocument的ReadXml方法加载XML文档xmlDataDoc.DataSet.ReadXml(Server.MapPath(source.xml);/填充DataSetds=xmlDataDoc.DataSet;/对DataSet中的数据进行处理/写回XML文档xdd.Save(Server.MapPath(shippers.xml);,7.2ASP.NET中实现对XML文档的操作,实现嵌套XML数据文档的写入方法DataSet与XmlDataDocument同步机制中,提供了创建表关系DataRelation对象,设置其Nested属性,即可以实现表关系中的子行嵌套在父列中。,7.2ASP.NET中实现对XML文档的操作,实现嵌套XML数据文档的写入方法实现步骤:创建SELL表和SELLDETAIL表结构创建SELL表和SELLDETAIL表对象,将销售图书详细信息存入SELLDETAIL表中,将销售操作员编号、此笔销售金额、销售日期存入SELL表创建DataSet对象,用表SELL和SELLDETAIL填充,加入SELLID字段为关联、Nested属性为真的DataRelation对象写入嵌套的XML文档。,7.2ASP.NET中实现对XML文档的操作,销售单号如何自动生成利用DataSet与XmlDataDocument的同步机制,将销售单XML数据读入DataSet对象,从DataSet对象获取最近一次销售单号,并产生新的销售单号完整代码实现(略),7.2ASP.NET中实现对XML文档的操作,单元练习酒店管理系统网上订房模块,需要根据客户的查询条件进行客房信息查询,查询条件可以是单个条件(如客房类型),也可以是多条件(如客房价格、床位数量等)组合,若存在该客房,则显示客房详细信息,否则,显示“暂无此类客房”的消息。,7.3Java技术对XML的支持,Java解析XML文档,有四种处理方法:基于树节点文档对象模型(DocumentObjectModule)的DOM基于事件驱动的XML简单API(SimpleAPIforXML)的SAX专为Java设计基于树节点的处理XML工具包JDOM(JavaDocumentObjectModel)基于面向接口处理xml文档的DOM4J,7.3Java技术对XML的支持,DOMDOM是一种与平台、语言无关的,处理XML文档的官方W3C标准。DOM将XML文档视为具有层次结构的节点树,DOM中的每一项均为特殊形态的节点对于任何节点都可以进行搜索、增加、修改或删除处理处理前,需要分析并构造树,并加载整个XML文档到内存中,将占用较大的内存空间,从而造成程序处理速度缓慢。,7.3Java技术对XML的支持,SAX由XML-dev的邮件列表所发展而来的基本思想:当一个XML元素分析完,就调用相应的事件处理方法进行处理,即边解析边处理,一旦满足某个特定条件,还可以停止解析工作。SAX的处理方式类似于流媒体,不需要将整个XML文档加载至内存,对于大型文档来说将极大地提高处理效率,7.3Java技术对XML的支持,JDOM第一个专为Java程序员设计的处理XMLAPI,不支持如DOM严格的树形结构,简化了与XML的交互通过JDOM提供的方法,获取节点集的集合形态,可以直接对元素进行操作,7.3Java技术对XML的支持,DOM4J由出品的一个开源XML解析包,与JDOM类似,应用于Java平台处理XML、XPath和XSLT基于面向接口的JavaXMLAPI具有性能优异、功能强大和使用简单的特点,7.3Java技术对XML的支持,四种方法的比较DOM4J性能最好,但选择具体使用哪种可视情况而定要求高性能,且不考虑移植,可采用DOM4J。希望编程简单,移植性好,且文档不是很大,可选用DOM文档大,可选用SAX,7.4Java技术实现对XML文档的操作,利用JAXP进行DOM编程处理XML文档DOM的5个基本对象:Document、Node、NodeList、Element和Attr,7.4Java技术实现对XML文档的操作,利用JAXP进行DOM编程处理XML文档Document对象,7.4Java技术实现对XML文档的操作,利用JAXP进行DOM编程处理XML文档Node对象,7.4Java技术实现对XML文档的操作,利用JAXP进行DOM编程处理XML文档NodeList对象,7.4Java技术实现对XML文档的操作,利用JAXP进行DOM编程处理XML文档Element对象Attr对象:代表了某个元素对象的属性,附属于Element对象,7.4Java技术实现对XML文档的操作,实例:利用DOM实现对图书信息XML文档的读和写问题书店管理系统的图书库存管理,工作人员可以对库存图书进行图书查询,以及增/删图书。库存图书XML文档BOOKLIB.xml。,7.4Java技术实现对XML文档的操作,取出的图书列表,实现效果,增加图书的效果,删除图书效果,7.4Java技术实现对XML文档的操作,分析解析XML文档获取节点集,得到图书列表操作DOM中的节点,读取、增加以及删除图书信息写入XML文档主要实现代码,7.4Java技术实现对XML文档的操作,解决解析XML文档步骤使用DocumentBuilderFacotry类的静态方法newInstance()创建一个解析器工厂,该方法根据一个系统变量来决定具体使用哪一个解析器通过其静态方法newDocumentBuilder()方法创建一个DocumentBuilder对象解析XML文档,7.4Java技术实现对XML文档的操作,获取节点集,得到图书列表的过程通过DOM对象的getDocumentElement(),获取DOM树的根节点使用方法getElementsByTagName(String),得到NodeList节点集对象,7.4Java技术实现对XML文档的操作,操作DOM中的节点,读取、增加以及删除图书信息读取图书信息NodeList.item(i)得到指定序号的Node对象利用getElementsByTagName(String)、getAttribute(String)、getTagName()访问该标签元素的文本、属性值、标签名称等信息。,7.4Java技术实现对XML文档的操作,操作DOM中的节点,读取、增加以及删除图书信息增加新图书使用DOM的createElement(String)方法创建新元素使用Element对象的setAttribute(String,String)方法可为元素设置新属性。删除图书doc.getDocumentElement().removeChild(指定节点元素);说明:先获得欲删除的结点,而后移去该节点,7.4Java技术实现对XML文档的操作,写入XML文档过程使用TransformerFactory的静态方法newInstance(),创建一个转换器工厂对象通过转换器工厂对象得到Transformer对象,代表一个特定的转换器对象。调用Transformer类的transfrom(Source,Result)方法,实现输出DOM到输出流对象。两个参数说明:数据源SourceDOM源对象,输出对象Result输出流StreamResult类对象,7.4Java技术实现对XML文档的操作,单元练习酒店管理系统入住资料管理,需要实现对入住信息的添加、修改处理,对于已结帐的客人,其入住信息的删除,同时与入住相关的客房信息也需要随之更新状态。,7.4Java技术实现对XML文档的操作,DOM4J处理XML文档的基本思想:将DOM树的节点集返回到一个集合,遍历DOM树。DOM4J包含的接口,7.4Java技术实现对XML文档的操作,DOM4J的常用对象:Document(文档)Element(元素)Node(节点)Attribute(属性)Text(文本),7.4Java技术实现对XML文档的操作,Document(文档),Element(元素),7.4Java技术实现对XML文档的操作,Node(节点),7.4Java技术实现对XML文档的操作,综合实例:使用Java和DOM4J实现售书功能模块问题书店管理系统的售书功能,由工作人员从图书列表中选择客户所需要的图书,对购物清单进行处理(修改数量、删除订单),产生本次销售的销售清单,并保存到XML格式的销售信息文档。,7.4Java技术实现对XML文档的操作,实现效果,图书信息列表,销售清单,销售汇总信息,7.4Java技术实现对XML文档的操作,分析根据售书业务流程设计程序确定所涉及的XML数据文档关键问题之一:如何解析XML文档,获取图书列表关键问题之二:如何创建DOM对象,以产生本次销售清单关键问题之三:如何实现写入XML文档,保存销售清单完整实现代码问题扩展:高效率访问DOM对象的机制,7.4Java技术实现对XML文档的操作,解决根据售书业务流程设计程序售书管理模块的方法:,7.4Java技术实现对XML文档的操作,确定所涉及的XML数据文档书籍信息文档(BOOKLIB.xml)销售单信息文档(SELL.xml)销售清单文档
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文书模板-新型智慧城市运行中心建设情况报告
- 元素与物质分类-2023年中考化学一轮复习(解析版)
- 济宁2024年统编版小学6年级上册英语第三单元真题
- 2024-2025学年江苏省镇江某中学高二(上)月考物理试卷(10月)(含答案)
- DB4107T 501-2024 知识产权保护中心服务规范 一般要求
- 五年级科学下册期末试题分类汇编:地表缓慢变化
- 2024年锅炉自控优化装置项目投资申请报告代可行性研究报告
- 2024年安全员C证考试100题及解析
- 纤维增强复合材料防眩格栅技术规范(征求意见稿)
- 幼儿园年终工作述职报告范文(30篇)
- 普外科科室医疗质量持续改进记录
- 群文阅读:童话中的不可思议 (教学实录)
- 原发性肝癌介入治疗(TACE)临床路径
- 丰田锋兰达保养手册
- 苏教版五年级上册科学第2单元第4课《物体的传热本领》教学课件
- 初中音乐人音九年级上册经典交响第五命运交响曲
- 4.4.1 对数函数的概念 课时教学设计
- 设备签收单模版
- 2023中国建筑行业装配式建筑发展研究报告
- 建设工程监理费计算器(免费)
- 预防校园欺凌、预防校园性侵告家长书
评论
0/150
提交评论