正 文

JAXP的演进


www.7dspace.com  更新日期:2005-10-27 2:39:10  七度空间


      如果你不注册一个error handler,那你就根本不会知道在解析XML文档的时候有没有错误产生和错误是什么。因此,在SAX解析XML文档的时候注册一个error handler是极其重要的。

      如果程序需要知道有什么事件产生了(并且想处理此事件),那你必须实现org.xml.sax.ContentHandler 接口并注册给 SAX解析器。一个典型的事件被触发的顺序是
startDocument, startElement, characters, endElement, endDocument。
startDocument 仅仅被触发一次而且是在触发其它event之前。同样,endDocument仅仅被触发一次而且是在整个文档被成功解析之后。你可以从SAX javadocs中获取更详细的信息。

Figure 2: SAX Parsing XML

使用JAXP,通过SAX parse XML document的代码片断:

SAXParserFactory spfactory = SAXParserFactory.newInstance();
        spfactory.setNamespaceAware(true);
        SAXParser saxparser = spfactory.newSAXParser();

        //write your handler for processing events and handling error
        DefaultHandler handler = new MyHandler();

        //parse the XML and report events and errors (if any) to the handler
        saxparser.parse(new File("data.xml"), handler);

      文档对象模型解析

      DOM 解析是基于对象的原理,当用DOM解析XML文档时它会在内存中生成一个树形的结构来表示一个XML文档。树上的每个节点代表着XML文档中的一个节点。如果一个DOM解析器符合W3C标准,那它产生的DOM就是W3C的DOM,使用org.w3c.dom APIs就能遍历和修改这个DOM。

大部分DOM解析器允许你抽取XML文档里的一部分来生成DOM树,而不是把整个XML文档在内存中建立对应DOM树。

Figure 3: DOM Parsing XML

8页,页码:[1] [2] [3] [4] [5] [6] [7] [8] 

上一篇:快速了解IDS和IPS的区别
下一篇:AS3.0概要–了解AS3.0的改变
作者:  来源:Matrix ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐