牛仔褲的夏天

          JAVA是藍色的- online

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            30 隨筆 :: 5 文章 :: 15 評論 :: 0 Trackbacks

          When to use DOM

          If your XML documents contain document data (e.g., Framemaker documents stored in XML format), then DOM is a completely natural fit for your solution. If you are creating some sort of document information management system, then you will probably have to deal with a lot of document data. An example of this is the Datachannel RIO product, which can index and organize information that comes from all kinds of document sources (like Word and Excel files). In this case, DOM is well suited to allow programs access to information stored in these documents.

          However, if you are dealing mostly with structured data (the equivalent of serialized Java objects in XML) DOM is not the best choice. That is when SAX might be a better fit.

          When to use SAX

          If the information stored in your XML documents is machine readable (and generated) data then SAX is the right API for giving your programs access to this information. Machine readable and generated data include things like:

          • Java object properties stored in XML format
          • queries that are formulated using some kind of text based query language (SQL, XQL, OQL)
          • result sets that are generated based on queries (this might include data in relational database tables encoded into XML).

          So machine generated data is information that you normally have to create data structures and classes for in Java. A simple example is the address book which contains information about persons, as shown in Figure 1. This address book XML file is not like a word processor document, rather it is a document that contains pure data, which has been encoded into text using XML.

          When your data is of this kind, you have to create your own data structures and classes (object models) anyway in order to manage, manipulate and persist this data. SAX allows you to quickly create a handler class which can create instances of your object models based on the data stored in your XML documents. An example is a SAX document handler that reads an XML document that contains my address book and creates an AddressBook class that can be used to access this information. The first SAX tutorial shows you how to do this. The address book XML document contains person elements, which contain name and email elements. My AddressBook object model contains the following classes:

          • AddressBook class, which is a container for Person objects
          • Person class, which is a container for name and email String objects.

          So my "SAX address book document handler" is responsible for turning person elements into Person objects, and then storing them all in an AddressBook object. This document handler turns the name and email elements into String objects.

          Conclusion

          The SAX document handler you write does element to object mapping. If your information is structured in a way that makes it easy to create this mapping you should use the SAX API. On the other hand, if your data is much better represented as a tree then you should use DOM.

          posted on 2006-02-22 21:52 luckyrobbie 閱讀(207) 評論(0)  編輯  收藏 所屬分類: XML

          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          主站蜘蛛池模板: 红河县| 舒城县| 枝江市| 武威市| 治多县| 西宁市| 屏南县| 承德市| 茌平县| 永济市| 运城市| 醴陵市| 惠东县| 遵义市| 叶城县| 伊宁县| 高雄市| 乌鲁木齐县| 攀枝花市| 阿图什市| 呈贡县| 雅安市| 新余市| 山阴县| 南投县| 喀喇| 甘德县| 丰顺县| 建昌县| 肃南| 南澳县| 大宁县| 温宿县| 福清市| 岫岩| 饶阳县| 旌德县| 兰考县| 布尔津县| 枣庄市| 永寿县|