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

被折叠的 条评论
为什么被折叠?



