JAVA解析XML的方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

上海软件培训上海青大实训目录:1、什么是JAVA/XML2、JAVA/XML各自的优点3、JAVA/XML各自的工作机制4、JAVA/XML之间是怎样解析的5、总结JAVA/XML一、什么是JAVA/XML1.什么是JAVA:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。2、什么是XML:可扩展标记语言(ExtensibleMarkupLanguage,XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML是标准通用标记语言(SGML)的子集,非常适合Web传输。XML提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。上海软件培训上海青大实训二、JAVA/XML各自的优点1、JAVA的优点:(1)、java的简单性:和C++相比,语法简单了,取消了指针的语法;内存分配和回收不需要我们来过渡关注,C++可以多继承,但java只能是单继承,相对于类来说。(注:接口可以多继承)(2)、java面向对象:java算是纯面向对象,但jquery是更纯的面向对象。在java编程思想这本书说过,“Everythingisobject!”这样便于人类的构思和设计,更符合人们的思考问题方式(3)、分布式:主要还是用在EJB上(4)、安全性:java的语法限定了源程序的安全性,首先编译器会进行源代码的第一步检查(5)、跨平台:java能够跨越不同的操作系统平台,平台无关性怎么跨平台呢?主要是在不同的操作系统中,JVM规范都是一样的,被JVM加载成各个操作系统所支持的,屏蔽了底层操作系统的差异(6)、高性能:开闭原则---对扩展开放,对修改关闭java是即时编译的(7)、多线程:Java开发的流程:首先编辑.java源程序编译成.class字节码文件bytecode(一种二进制文件)最后被java虚拟机(JVM)加载解释并执行2、XML的优点:XML作为引人注目的核心技术应用于BtoB、Web服务、.NET等许多系统中。XML是IT界谈话中不可缺少的一个关键词。因此,XML对于计算机工程师来说,是必不可少的一门知识。用XML可以对数据关系进行定义形成特有的标准,因此各行各业都在建立自己的行业化标准,以应用于网络上处理电子商务,把后台系统通过Web站点表现出来。XML还可以作为数据仓储,一个XML文件就是一个小的数据库,通过对数据关系的定义形成各种关系、属性的数据,实现数据交换、上下文检索、多媒体传输。XML具有其他方法所不具备的数据描述特点XML是以文本形式来描述的一种文件格式由于XML是以文本形式描述的,所以适合于各种平台环境的数据交换。同样由于使用文本来描述内容,可以越过不同平台的障碍进行正常的数据交换。但是,文本形式也会因为文字代码的不同造成不能阅读的问题,在这一点上XML有着非常完美的解决方案。XML使用有意义的标记(Tag)在XML中文件是由一个个称之为元素(Element)的部件构成。使上海软件培训上海青大实训用标记(Tag)来描述元素。由于使用了标记的描述方法,可以保持原数据的意思和构造在互联网上进行数据交换,进而可以保持不同系统之间数据交换的灵活性。三、JAVA/XML各自的工作机制1、JAVA的工作机制:1.编译型和解释型(根据执行方式)编译型(C,C++):特定的编译器和操作系统,将高级语言代码一次性“翻译成”该平台执行的机器码,并包装成该平台可执行格式。解释型(Ruby):特定的解释器对源码翻译成特定平台的机器码并立即执行。解释性语言一般不会进行整体性德编译和链接处理,可以认为每次执行编译型语言都需要编译一次。2.java虚拟机JVMjava运行前需要进行编译,编译成与平台无关的字节码(class文件)。JVM就是可以运行字节码的虚拟计算机。java文件---javac----class--解释执行---特定平台的机器码。3.java环境JDK:用于开发Java应用程序的开发包(编译,开发所需要的各种工具和环境)包括java编译器,java运行环境以及常用的java类库。JRE:java运行环境,运行java程序。JRE肯定包括JVM。4.设置环境变量path环境变量:window系统通过设置在path环境变量查找可执行的命令classpath环境变量:搜索指定路径的java类(存在当前路径问题)。2、XML的工作机制自助服务趋势:对于大多数服务提供商来说,自助服务正在发展为一种趋势—特别是那些资金紧张的ISP。因此,如果您需要更多带宽(进行下载或玩在线游戏),您可以登录到提供商的Web站点并通过Web页面自动升级与提供商的连接。让我们看一个具体的例子:清单1展示了一个简单的基于XML的用户服务配置文件。将服务定义XML文档传输给使用Java技术的客户机:Java技术为XML数据处理提供了一些真正强大的工具(请参见侧栏Java技术和XML)。如果将清单1中的内容看作是给定数据集的基于XML的呈现,那么您还可以使用其他方式进行呈现。构成清单1基本内容的原始数据一般保存在数据库中。接收数据的Java客户机获得XML内容(并不是XML文件):客户机如何接收XML数据?同样,对于上海软件培训上海青大实训技术来说这只是小事一桩。数据接收通过一个套接字对象完成。清单5展示的代码将接收传入的数据并将数据推入到ArrayList类的对象中。四、JAVA/XML之间是怎样解析的以下是四种JAVA解析XML的方法:XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(DocumentObjectModel),DTD(DocumentTypeDefinition),SAX(SimpleAPIforXML),XSD(XmlSchemaDefinition),XSLT(ExtensibleStylesheetLanguageTransformations)。XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。基本的解析方式有两种,一种叫SAX,另一种叫DOM。SAX是基于事件流的解析,DOM是基于XML文档树结构的解析。假设我们XML的内容和结构如下:?xmlversion=1.0encoding=UTF-8?employeesemployeenameddviplinux/namesexm/sexage30/age/employee/employees本文使用JAVA语言来实现DOM与SAX的XML文档生成与解析。首先定义一个操作XML文档的接口XmlDocument它定义了XML文档的建立与解析的接口。packagecom.alisoft.facepay.framework.bean;/****@authorhongliang.dinghl*定义XML文档建立与解析的接口*/publicinterfaceXmlDocument{/**上海软件培训上海青大实训*建立XML文档*@paramfileName文件全路径名称*/publicvoidcreateXml(StringfileName);/***解析XML文档*@paramfileName文件全路径名称*/publicvoidparserXml(StringfileName);}1.DOM生成和解析XML文档为XML文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用DOM接口来操作这个树结构。优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU)。packagecom.alisoft.facepay.framework.bean;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.PrintWriter;importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.DocumentBuilderFactory;importjavax.xml.parsers.ParserConfigurationException;importjavax.xml.transform.OutputKeys;importjavax.xml.transform.Transformer;importjavax.xml.transform.TransformerConfigurationException;importjavax.xml.transform.TransformerException;上海软件培训上海青大实训****@authorhongliang.dinghl*DOM生成与解析XML文档*/publicclassDomDemoimplementsXmlDocument{privateDocumentdocument;privateStringfileName;publicvoidinit(){try{DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();DocumentBuilderbuilder=factory.newDocumentBuilder();this.document=builder.newDocument();}catch(ParserConfigurationExceptione){System.out.println(e.getMessage());}}publicvoidcreateXml(StringfileName){Elementroot=this.document.createElement(employees);this.document.app

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功