java读写xml文件的方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB

1. DOM(Document Object Model)

此方法主要由W3C提供,它将xml文件全部读入内存中,然后将各个元素组成一棵数据树,以便快速的访问各个节点。因此非常消耗系统性能,对比较大的文档不适宜采用DOM方法来解析。 DOM API 直接沿袭了 XML 规范。每个结点都可以扩展的基于 Node 的接口,就多态性的观点来讲,它是优秀的,但是在Java 语言中的应用不方便,并且可读性不强。

实例:

Java代码

1.import javax.xml.parsers.*;

2.//XML解析器接口

3.import org.w3c.dom.*;

4.//XML的DOM实现

5.import org.apache.crimson.tree.XmlDocument;

6.//写XML文件要用到

7.DocumentBuilderFactory factory = DocumentBuilderFactory.newInst

ance();

8. //允许名字空间

9. factory.setNamespaceAware(true);

10. //允许验证

11. factory.setValidating(true);

12. //获得DocumentBuilder的一个实例

13.try {

14. DocumentBuilder builder = factory.newDocumentBuilder();

15.} catch (ParserConfigurationException pce) {

16.System.err.println(pce);

17.// 出异常时输出异常信息,然后退出,下同

18.System.exit(1);

19.}

20.//解析文档,并获得一个Document实例。

21.try {

22.Document doc = builder.parse(fileURI);

23.} catch (DOMException dom) {

24.System.err.println(dom.getMessage());

25.System.exit(1);

26.} catch (IOException ioe) {

27.System.err.println(ioe);

28.System.exit(1);

29.}

30.//获得根节点StuInfo

31.Element elmtStuInfo = doc.getDocumentElement();

32.//得到所有student节点

33. NodeList nlStudent = elmtStuInfo.getElementsByTagNameNS(

34. strNamespace, "student")

;

35.for (……){

36. //当前student节点元素

37. Element elmtStudent = (Element)nlStudent.item(i);

38. NodeList nlCurrent = elmtStudent.getElementsB

yTagNameNS(

39. strNamespace, "name");

40.}

对于读取得方法其实是很简单的,写入xml文件也是一样不复杂。

Java代码

1.DocumentBuilderFactory factory = DocumentBuilderFactory.newInst

ance();

2.DocumentBuilder builder = null;

3.try {

4.builder = factory .newDocumentBuilder();

5.} catch (ParserConfigurationException pce) {

6.System.err.println(pce);

7.System.exit(1);

8.}

9.Document doc = null;

10.doc = builder .newDocument();

11.//下面是建立XML文档内容的过程,

12.//先建立根元素"学生花名册"

13.Element root = doc.createElement("学生花名册");

14.//根元素添加上文档

15.doc.appendChild(root);

16.//建立"学生"元素,添加到根元素

17.Element student = doc.createElement("学生");

18.student.setAttribute("性别", studentBean.getSex());

19.root.appendChild(student);

20.//建立"姓名"元素,添加到学生下面,下同

21.Element name = doc.createElement("姓名");

22.student.appendChild(name);

23.Text tName = doc.createTextNode(studentBean.getName());

相关文档
最新文档