对XML文档解析方法大收集
peppi 2002-07-25 11:59:26 小弟在学习过程中,遇到了几种解析方法,弄的有点晕,望各位仁兄解疑:
1:
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.new.SAXParser();
DefaultHandler handler = new DefaultHandlerProxy(er,dh,ch,eh);
sp.parse(file,handler);
2.
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.newDocument();
doc.parse(file);
请问,还有没有别的其他的解析方法呢?如果有的话,能不能详细的写下来呢?并做一个简略的说明?我想总结一下,对比一下,然后我想弄清楚他们都用在什么地方,有什么区别.(第一个方法是不是用在JAXP,第二个用在JDOM?我感觉在非JAXP中也可以用第一种方法,是不是?)
为什么要用工厂(Factory)呢?工厂在整个解析过程中起什么作用,是不是可以为工厂添加某些操作,而这些操作只能在工厂里添加吗?如下(对于第二种方法):
dbf.setValidating(validation);
dbf.setNameSpaceAware(true);
利用工厂的目的是不是就在这?
另外,我在书上看到在例子中有
.java文件
.dtd文件
.xml文件
.ent文件
在ENT文件中存放的是
<!NOTATION ******>
<!ENTITY ****>
<!ENTITY ****>
等等,但没有别的东西,这个ENT文件是什么东东?它和DTD文件很相似啊,但为什么会用ENT呢?
小弟这里谢过了!!!