失败!读取XML文件

失败!读取XML文件

    本来想做个“小玩意”,这个“小玩意”的就是一个通讯录(之所以这么想是因为手机丢了,好多熟人都联系不上了)。本来也不难,界面用SWT&Jface做就行了,数据的存储与读取可以通过JDBCHibernate调用数据库。虽然说数据库的调用我并不是很熟,不过好在这方面的书籍大把大把的有,找找书照着做应该没有什么问题。但是我并不想用这么“俗”的方法,以前老是听说XML怎么这么不错,接触的也不少,看也能看懂,但是没有用XML做过数据存储,于是想能不能不用数据库而改用XML来存储通讯录里的资料。仔细想想应该能行,无非就是一些元素和标识,XML应该挺适合做通讯录的数据来源。但是想归想,做归做,首先要解决几个问题:

1、 java中怎么读XML文件?用什么API来操作?

因为不能上网,所以我要解决问题只能求助我电脑里的藏书了。找啊找,没费什么劲就在jdk文档里与一个ppt文件里发现了解决问题的线索:java里的org.w3c.dom包与org.xml.sax包提供了解决的这个问题应该用到的类。其中dom的意思是Document Object Modelsax的意思是Simple API for XML。在两个的特点我照ppt抄一下,

Dom

        通过树型结构存取XML文档

        由元素节点和文本节点组成

        可以在树的某个节点上向前或向后移动

        SAX相比需要更大的内存

        org.w3c.dom.*

Sax

        串行存取文档

        轻量级、快速

        编程较难

        仅用于串行存取

        org.xml.sax.*

各有各的特点,不管怎么说,对于我这个小玩意,两个应该都能用。于是我就照着书上的例子试着建了几个类,写了一些代码。这些类分别是DocHandlerXMLtest,还有应该xml文件:test.xml。但是还是失败了,出现了空指针异常,描述是No value for sax.parser property,出现问题的代码是Parser p = ParserFactory.makeParser(),问题是我是照着ppt上的代码写的,不知道出现了什么问题。后来我发现这是2003年的东西了,ppt上面用的类很多都是过时了的。找别的书也没有找到解决方法,无奈。

2、 怎么写XML文件?

我对“小玩意”的设计是不仅能从界面上浏览通讯录上的资料,而且还能进行资料的录入(这应该是基本要求吧)。但是我发现找不到写XML文件的方法(在我的电脑里找不到)。有一个类java.beans.XMLEncoder应该可以生成指定对象的XML文件,但是好像只能对swing的对象进行的操作。

不能上网,只能放在以后在说了,今天先放一放。

你可能感兴趣的:(失败!读取XML文件)