Java读取XML文件的方式

XML的作用和HTML一样,都是写网页的语言,但是后来在实际使用中,人们发现xml更适合作为配置文件存在,到现在人们就把他当做配置文件来使用.不过XML只有一个根标签,
对于学习JAVA来说,学习XML主要是学习如何读取XML 文件,还有如何更改文件中的数据.如何把他写入硬盘中去.下面就来讲解读取XML文件的几种方式.

1,DOM4J法
我人为这种方法是比较古老,而且笨的办法,其中的元素不能快速的定位,需要我们先寻找各个父标签,然后再寻找子标签,再查询相应的值,需要每次读取父标签,根据父标签获得字标签对象,代码实现如下:
Java读取XML文件的方式

首先我们获取了Saxreader读取对象,然后读取文件,再接着获得根标签,由根标签名获得他的迭代器对象,利用迭代器对象去遍历根标签下面的所有子标签,此方法中有一次获得所有标签的迭代器,不过要想一次性能获得想要的标签还好不容易的,所以不推荐这种方法.要想获得标签名直接调用getname()方法即可,要想获得标签的属性名就要调,attribute().getname(); 要想获得属性值,直接调attributevalue();方法.要想获得标签中夹的文本就调gettext(); 修改标签中的文本就调settext();

2.XmlPullParserFactory

这种方法是指针的方式来读取XML文件,一次读取一行,忽视节点关系,要想遍历每个节点代码量较大,如下.
Java读取XML文件的方式
Java读取XML文件的方式
如上代码,只为遍历所有节点.代码中先获得了事件parser.利用返回值type来确定指针走到哪一步,当指针走到根标签时,我们就要创建一个Arraylist集合来把后面读到的自定义类存进去,当指针走到文件的每个父标签的开始位置时,判断当前位置的实际标签名是不是和指针位置对应的标签名一样.如果一样的话在读到父标签的时候就要创建一个学生类对象以便在后来的读取工作中把数据写到自定义的类中去,当指针读取到name的时候就要把name里面的文本内容读出来,然后调用自定义类中的各种SET方法,把读到的值赋给他们.当指针读取到父标签的结束时刻时就要把存好的学生类存到集合里面去,在这个过程中,不要忘了,我们指针每读取一行数据就应该下移一次.外层用while循环来实现.保证每次读完指针能够下移.读取到文件末尾是就停止.

3.XPATH

这种方法是最简便的方法,代码量少,
Java读取XML文件的方式

Java读取XML文件的方式
只需要知道XPATH语法就可以轻松的实现快速定位,如图中的标签.语法在W3Cschool可以学到,可以快速入门.要注意的是在代码中Element ele = (Element) doc.selectSingleNode(sql); 其中本来返回值是NODE类型,但是我们预先知道他是一个标签对象所以我们把它有节点对象强转成了标签对象.