DOM方式读写XML文件

本文介绍了如何使用JAVA的DOM方式读取和写入XML文件。首先通过DocumentBuilderFactory和DocumentBuilder获取Document实例,然后利用Document的方法进行读取操作。在读取过程中,特别提到了doc.getElementsByTagName('user')返回的是NodeList。对于写操作,可以使用FileWriter的write方法。此外,还提及了读写特定节点以及在编程中的应用,尤其是结合反射机制。

这里所说的XML指的是那种标准的XML文件,而不是配置文件。

一个标准的XML文件如下所示:

<? xml  version = "1.0"  encoding = "UTF-8" ?>

< users >

  < user  id = "1" >

    < name > 罗维 </ name >

    < age > 24 </ age >

    < sex > </ sex >

  </ user >

  < user  id = "2" >

    < name > 张娜拉 </ name >

    < age > 27 </ age >

    < sex > </ sex >

  </ user >

  < user  id = "3" >

    < name > 微微 </ name >

    < age > 32 </ age >

    < sex > </ sex >

  </ user >

</ users >

在这个文件中包括版本号,编码。

一. JAVA使用DOM方式读取XML文件中的数据。

在这个方式中试用W3C提供的DOM方式来读取。就是使用Document类的方法。想要获得一个Document的实例需要获得以下几步:

1. DocumentBuilderFactory  dbf  =  DocumentBuilderFactory. newInstance (); //获得对象工厂

2. DocumentBuilder db = dbf.newDocumentBuilder(); //获得制造器

3. Document doc = db.parse(file); //通过制造器来获得 Document的实例。需要注意的是 parse 方法的参数是文件对象。

这几个步骤可能会抛出异常需要我们捕获或者抛出异常。

获得 Document  对象后我们就可以运用这个类里的方法进行对XML文件的读操作,具体的步骤如下:

NodeList nodeList = (NodeList)  doc .getElementsByTagName( "user" );

       

for ( int  i=0;i<nodeList.getLength();i++){

  Element element = (Element)nodeList.item(i);

  String id = element.getAttribute( "id" );

  String name =  doc .getElementsByTagName( "name" ).item(i).getFirstChild().getNodeValue();

 

        String age =  doc .getElementsByTagName( "age" ).item(i).getFirstChild().getNodeValue();

 

        String sex =  doc .getElementsByTagName( "sex" ).item(i).getFirstChild().getNodeValue();

 

}

需要注意的是 doc .getElementsByTagName( "user" ); 获得的是一个Nodelist这个是W3C提供的一个包中定义的。所以在引用的时候最好不要引用错误。

至于说写操作,直接使用FileWriter 的writer方法就可以了。

FileWriter fw = new FileWriter("文件名");

Fw.write("");

二. 读写普通配置文件

三. 读写制定的节点(只读一个特定的节点,只写一个特定的节点)

JAVA读写XML文件在编程中的应用

一. 读出来之后使用反射机制

 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值