分享个人学习解析器的总结
JDOM和DOM4J
JDOM和DOM4J都是针对Java解析XML设计的方式,它们与DOM相似。
但DOM不是只针对Java,DOM是跨语言的,DOM在Javascript中也可以使用。
而JDOM和DOM4J都是专业为Java而设计的,使用JDOM和DOM4J,对Java程序员而言会更加方便。====================
DOM SAX,跨语言的,不是给java制定的两种规范! DOM -- w3c提出的
SAX -- 草民提出的(很好的规范,大家都去使用它) 在java中规范都是一组interface!
interface在java中不能用,需要实现类! xercesImpl.jar -- 是DOM和SAX的java实现,它是apache的,不要钱!
DOM -- 解析是有结果的! Document就是结果
SAX -- 解析是没结果的!没结果 SAXReader reader = new ...
Document doc = reader.read("xxx");//reader.read()方法就是解析xml文件
DOM -- 优点:节点与节点之间有关联关系(有结构)!缺点:(如果xml文件太大,都加发到内存,内存受不了)
SAX -- 优点:不占内存,缺点:(没结构)
====================
JAXP -- java自己的东西!
  JAXP本身不是解析器(不是Xerces),也不是解析方式(DOM或SAX),
它只是让用户在使用DOM或SAX解析器时不依赖特点的解析器。
它的作用就是不用去找特定厂商提供的实现类,由JAXP去通过配置文件去找。
我们以后需要使用DOM和SAX时,使用JAXP    JAXP --方法(1,2老师说不用理解)
3 -- 查找classpath中的解析器!刚刚我们把xerces.jar放到classpath中,所以JAXP找到了它!
4 -- 当第3步找不到时,才会用第四步!用Java自己的xerces!====================DOM SAX,JDOM和DOM4J之间的不同,
因为DOM和SAX解析的document的返回的是Node节点是通用的,不适合JAVA,
所以出现了专门为JAVA服务的解析方式:JDOM和DOM4J,不过他们底层其实还是用的SAX的解析器DOMSAX DOM4J  JAXPXMLDOM4JJAXP