版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
知识要点.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文档的DOM4J7.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文档大,可选用SAX7.4Java技术实现对XML文档的操作利用JAXP进行DOM编程处理XML文档DOM的5个基本对象:Document、Node、NodeList、Element和Attr 7.4Java技术实现对XML文档的操作利用JAXP进行DOM编程处理XML文档Document对象 方法 描述getDocumentElement()返回DOM树的根元素对象createElement(String)创建指定元素名的Element对象createAttribute(String)创建指定属性名的Attr对象getElementsByTagName(String)返回一个NodeList对象,包含指定元素的所有子元素CreateTextNode(text)创建具有指定文本的Text对象7.4Java技术实现对XML文档的操作利用JAXP进行DOM编程处理XML文档Node对象 方法 描述appendChild(Node)添加一个子节点,若已存在该节点,则删除后重新添加getFirstChild()如果节点存在子节点,则返回第一个子节点getNextSibling()返回在DOM树中这个节点的下一个兄弟节点getElementsByTagName(String)返回一个NodeList对象,包含指定元素的所有子元素CreateTextNode(text)创建具有指定文本的Text对象getNodeName()根据节点的类型返回节点的名称getNodeValue()返回节点的值getNodeType()返回节点的类型hasChildNodes()判断是不是存在有子节点removeChild(Node)删除给定的子节点对象replaceChild(NodenewNode,NodeoldNode)用一个新的Node对象代替给定的子节点对象7.4Java技术实现对XML文档的操作利用JAXP进行DOM编程处理XML文档NodeList对象 方法 描述GetLength()返回列表的长度Item(int)返回指定位置的Node对象7.4Java技术实现对XML文档的操作利用JAXP进行DOM编程处理XML文档Element对象Attr对象:代表了某个元素对象的属性,附属于Element对象 方法 描述getElementsByTagName(String)返回一个NodeList对象,包含指定元素的所有子元素getTagName()返回一个代表这个标签名字的字符串getAttribute(String)返回元素的指定属性的值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到输出流对象。两个参数说明:数据源Source——DOM源对象,输出对象Result——输出流StreamResult类对象7.4Java技术实现对XML文档的操作单元练习酒店管理系统入住资料管理,需要实现对入住信息的添加、修改处理,对于已结帐的客人,其入住信息的删除,同时与入住相关的客房信息也需要随之更新状态。7.4Java技术实现对XML文档的操作DOM4J处理XML文档的基本思想:将DOM树的节点集返回到一个集合,遍历DOM树。DOM4J包含的接口接口 描述Node定义dom4j中所有XML节点的多态行为Attribute定义XML的属性Branch为包含子节点的节点(如Element、Docuemnts)定义一个公共的行为Document定义XML的文档Element定义XML的元素CharacterData用于标识基于字符的节点,如CDATA、Comment、TextCDATA定义XML的CDATA区域Comment定义XML注释的行为ElementHandler定义Element对象的处理器Text定义XML文本节点DocumentType定义XMLDOCTYPE声明XPath分析字符串,并提供XPath表达式Visitor用于实现Visitor模式7.4Java技术实现对XML文档的操作DOM4J的常用对象:Document(文档)Element(元素)Node(节点)Attribute(属性)Text(文本)7.4Java技术实现对XML文档的操作Document(文档)方法 描述getRootElement()返回根节点setRootElement(Element)设置根节点getXMLEncoding()返回编码格式setXMLEncoding(String)设置编码格式setDocType(DocumentType)设置Document的类型addComment(String)添加注释节点addElement(Stringname)添加一个指定名字的元素节点,并返回该元素selectNodes(String)利用XPath返回指定名的节点集selectSingleNode(String)利用XPath返回指定名的节点Element(元素)方法 描述getName()返回元素节点的本地名称,但若为CDATA、Text节点返回为nullgetText()返回元素的文本内容,如果内容为空,则返回一个空字符串attributeIterator()返回元素属性的iterator,其中每个元素都是Attribute对象attribute(String
name)返回元素的指定名称属性节点attributeValue(String)为元素的某个指定属性的值addElement(Stringname)添加一个指定名字的元素节点,并返回该元素addAttribute(Stringname,Stringvalue)为元素添加一个指定名及值的属性element(String)返回指定名称的第一个子元素elementText(String)返回指定元素的文本内容elementIterator(String)返回包含元素所有子元素的枚举对象(Iterator)remove(Attribute
attribute)删除元素的指定属性节点setAttributeValue(Stringname,Stringvalue)为元素的指定属性设置属性值getParent()返回元素的父元素getPath()返回元素的XPath表达式,其中父元素名和子元素名之间使用"/"分隔isTextOnly()是否该元素只含有text或是空元素isRootElement()是否该元素是XML树的根节点selectNodes(String)利用XPath返回指定名的节点集selectSingleNode利用XPath返回指定名的节点7.4Java技术实现对XML文档的操作Node(节点)方法 描述getName()返回节点的名称getPath()返回节点的XPath路径getText()获得节点的文本内容setText()设置节点的文本内容selectNodes(String)利用XPath返回指定名的节点集selectSingleNode(String)利用XPath返回指定名的节点7.4Java技术实现对XML文档的操作综合实例:使用Java和DOM4J实现售书功能模块问题
书店管理系统的售书功能,由工作人员从图书列表中选择客户所需要的图书,对购物清单进行处理(修改数量、删除订单),产生本次销售的销售清单,并保存到XML格式的销售信息文档。7.4Java技术实现对XML文档的操作实现效果图书信息列表销售清单销售汇总信息7.4Java技术实现对XML文档的操作分析根据售书业务流程设计程序确定所涉及的XML数据文档关键问题之一:如何解析XML文档,获取图书列表关键问题之二:如何创建DOM对象,以产生本次销售清单关键问题之三:如何实现写入XML文档,保存销售清单完整实现代码问题扩展:高效率访问DOM对象的机制7.4Java技术实现对XML文档的操作解决根据售书业务流程设计程序售书管理模块的方法:方法 描述addItemToCart(Stringsellid,Stringempid,Dateselldate,ShopBookDetailitembook)产生销售清单并保存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年全球及中国密封往复式冰箱压缩机行业前景动态及投资盈利预测报告
- 2024-2030年全球与中国维生素B2市场发展现状及投资价值分析报告
- 2024-2030年中国黑色金属冶炼项目可行性研究报告
- 2024-2030年中国鸡精市场未来发展趋势及前景调研分析报告
- 2024-2030年中国高校后勤行业发展创新模式及投资规划研究报告
- 幼儿园感官认知课程设计
- 本地dns攻击课程设计
- 机械制造轴课程设计
- 成都 课程设计 招聘
- 服务培训相关课程设计
- GB/T 18281.3-2024医疗保健产品灭菌生物指示物第3部分:湿热灭菌用生物指示物
- 消防法知识课件
- 计量经济学练习题
- 关于礼仪培训课件
- 2024年采购经理竞聘演讲稿模版(2篇)
- 第七单元测试卷-2024-2025学年语文四年级上册(统编版)
- 北京市海淀区2023-2024学年高三上学期期末考试 英语 含答案
- 探索心理学的奥秘智慧树知到期末考试答案章节答案2024年北京大学
- 学术交流英语(学术写作)智慧树知到期末考试答案2024年
- 北京市西城区2023-2024学年六年级上学期期末英语试题
- 技术顾问聘用协议书范文
评论
0/150
提交评论