简析Java开发中的XML编程_第1页
简析Java开发中的XML编程_第2页
简析Java开发中的XML编程_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    XML作为全球通用的结构化语言,越来越受人们青睐,各种开发平台(比如MicrosoftStudio系列、Oracle系列、InpriseBorland系列等)也都把支持XML开发作为宣传口号之一。由于笔者所从事的电子政务开发较早的引入了XML,所以尝到了许多甜头,在许多项目中利用XML数据交换信息,省去了许多麻烦事,不用制定繁锁的数据格式,利用XML数据易于表达,也利于一线开发者跟踪调试。在XML应用中,最常用也最实用的莫过于XML文件的读写,所以笔者通过一个简单的XML文件读写来作简要分析。可以在任何文本编辑器中先建立如下结构的XML文件,类似

2、于HTML结构,但XML语义比较严格,起始标记必须配对,比如"学生花名册"与"学生花名册"对应,空格多少可不必在意,但一般都以缩格形式书写,便于阅读。把此文件命名为Input.xml,可以在任何支持XML的浏览器中打开测试一下,如果输入正确,在浏览中可以看到此文件的树形表示结构。?xmlversion="1.0"encoding="GB2312"?学生花名册学生性别="男"姓名李华/姓名年龄14/年龄电话6287555/电话/学生学生性别="男"姓名张三/姓名年龄16/年龄电

3、话8273425/电话/学生/学生花名册 准备工作做完后,接着就开始写实质性的JAVA代码了。为保存从XML文件读入的信息,需要先建一个简单的Bean来保存学生信息,命名为StudentBean,代码如下所示:publicclassStudentBeanprivateStringsex;/学生性别privateStringname;/学生姓名privateintage;/学生年龄privateStringphone;/电话号码publicvoidsetSex(Strings)sex=s;publicvoidsetName(Strings)name=s;publicvoidsetAge(inta

4、)age=a;publicvoidsetPhone(Strings)phone=s;publicStringgetSex()returnsex;publicStringgetName()returnname;publicintgetAge()returnage;publicStringgetPhone()returnphone; 之后写XML的测试类,笔者把这个类命名为XMLTest,为了读写XML文件,需要导入如下JAVA包,"/"后为注释说明,笔者的环境是JDK1.3.1_04,在JDK1.4.0中测试也通过,XML解释器用Apache的Crimson,可以到Apach

5、e主页去上载。importjava.io.*;/Java基础包,包含各种IO操作importjava.util.*;/Java基础包,包含各种标准数据结构操作importjavax.xml.parsers.*;/XML解析器接口importorg.w3c.dom.*;/XML的DOM实现importorg.apache.crimson.tree.XmlDocument;/写XML文件要用到 为了保存多个学生信息,还得借助一个集合类(并不是单纯意义上的集合,JAVA中的集合是集合框架的概念,包含向量、列表、哈希表等),这里采用Vector向量类。定义在XMLTest测试类中,命名为student

6、_Vector。然后定义两个方法readXMLFile和writeXMLFile,实现读写操作。代码如下:privatevoidreadXMLFile(StringinFile)throwsException/为解析XML作准备,创建DocumentBuilderFactory实例,指定DocumentBuilderDocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();DocumentBuilderdb=null;trydb=dbf.newDocumentBuilder();catch(ParserConfiguratio

7、nExceptionpce)System.err.println(pce);/出异常时输出异常信息,然后退出,下同System.exit(1);Documentdoc=null;trydoc=db.parse(inFile);catch(DOMExceptiondom)System.err.println(dom.getMessage();System.exit(1);catch(IOExceptionioe)System.err.println(ioe);System.exit(1);/下面是解析XML的全过程,比较简单,先取根元素"学生花名册"Elementroot=d

8、oc.getDocumentElement();/取"学生"元素列表NodeListstudents=root.getElementsByTagName("学生");for(inti=0;istudents.getLength();i+)/依次取每个"学生"元素Elementstudent=(Element)students.item(i);/创建一个学生的Bean实例StudentBeanstudentBean=newStudentBean();/取学生的性别属性studentBean.setSex(student.getAttribute("性别");/取"姓名"元素,下面类同NodeListnames=student.getElementsByTagName("姓名");if(names.getLength()=1)Elemente=(Element)names.item(0);Textt=(Text)e.getFirstChild();studentBean.setName(t.getNodeValue();Nod

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论