Four parser principles and performance comparisons of XML

xiaoxiao2021-03-30  206

1: DOM DOM is the official W3C standard of the XML document with the platform and language. The DOM is a collection of nodes or information tabs in hierarchical organizations. This hierarchy allows developers to find specific information in the tree. Analysis This structure typically needs to load the entire document and construct hierarchy before you can do anything. Since it is based on the information level, the DOM is considered to be trees or object-based. DOM and the generalized tree-based treatment have several advantages. First, since the tree is lasting in memory, it can modify it so that the application can make changes to the data and structure. It can also navigate up and down at any time, rather than being a one-time processing like SAX. DOM should be much simpler. On the other hand, for a particularly large document, parsing, and loading the entire document may be slow and very resource, so use other means to handle such data is better. These event-based models, such as SAX. 2: SAX this processing is very similar to the advantages of streaming. The analysis can start immediately, not waiting for all the data being processed. Moreover, since the application is only checked when data is read, it is not necessary to store the data in memory. This is a huge advantage for large documents. In fact, the application does not even have to resolve the entire document; it can stop parsing when a condition is satisfied. In general, SAX is still much faster than its alternative DOM. 3: Select DOM or choose SAX? For developers who need to write code to handle XML documents, choose DOM or SAX resolution model is a very important design decision. The DOM uses a tree structure to access the XML document, while the event model adopted by SAX. The DOM parser converts the XML document into a tree containing its content, and can traverse the tree. The advantage of using the DOM parsing model is that the programming is easy, and the developer only needs to call the manifold of the build tree, and then use the Navigation API to access the tree node required to complete the task. Elements in the tree can be easily added and modified. However, due to the use of the DOM parser, the entire XML document is required, so the requirements for performance and memory are relatively high, especially when they encounter a large XML file. Due to its traversal capabilities, DOM parsers are often used in XML documents that require frequent changes. The SAX parser uses an event-based model. It can trigger a series of events when parsing the XML document. When a given TAG is found, it can activate a callback method, telling the label that the method has been found. SAX's requirements for memory are often relatively low because it makes developers to determine the TAG to be processed. In particular, when the developer only needs to handle some of the data contained in the document, SAX is better. reflect. However, encoding work is more difficult to use the SAX parser, and it is difficult to access multiple different data in the same document.

4: The purpose of JDOM JDOM is to become a Java-specific document model, which simplifies interaction with XML and faster than using DOM. Since it is the first Java specific model, JDOM has been vigorously promoted and promoted. It is considering that it is ultimately used as "Java Standard Extension" through "Java Specification Request JSR-102". JDM development has begun from early 2000. There are two main aspects of JDOM and DOM. First, JDOM only uses a specific class without using an interface. This simplifies API in some respects, but also limits flexibility. Second, the API uses a Collections class, simplifies the use of Java developers that are familiar with these classes. The JDOM document declares that its purpose is to "use 20% (or fewer) energy to solve 80% (or more) Java / XML issues" (assuming 20% ​​depending on the learning curve). Jdom is of course useful for most Java / XML applications, and most developers have found that API is much easier to understand than DOM. JDOM also includes a considerable extensive check of program behavior to prevent users from doing anything in XML. However, it still needs you to fully understand XML to do some work beyond basic work (or even understand in some cases). This may be more meaningful than learning the DOM or JDOM interface. JDOM does not contain a parser. It usually uses the SAX2 parser to parse and verify the input XML document (although it can also represent the previously constructed DOM as input). It contains some converters to indicate the JDOM to the SAX2 event stream, a DOM model, or an XML text document. JDOM is an open source released under the Apache license variant. 5: DOM4J Although DOM4J represents a completely independent development result, it is initially, it is a smart branch of JDom. It merges many functions that exceed the basic XML document, including integrated XPath support, XML Schema support, and event-based processing for large documents or fluidized documents. It also provides an option to build a document, which has parallel access functions via the DOM4J API and the standard DOM interface. Starting from the second half of 2000, it has been in development. To support all of these features, DOM4J uses interfaces and abstract basic classes. DOM4J uses a large number of COLLECTIONS classes in the API, but in many cases, it also provides some alternative methods to allow better performance or more direct coding methods. Direct advantage is that although DOM4J has paid a more complex API price, it provides much flexibility than JDOM. When adding flexibility, XPath integration, and targets for large documents, DOM4J's goals are the same as JDOM: for easy-to-use and intuitive operations of Java developers. It is also committed to becoming a more complete solution than JDOM, achieving the goals of all Java / XML issues in nature. When this goal is completed, it is more emphasized than JDOM to prevent incorrect application behavior. DOM4J is a very very excellent Java XML API with features excellent performance, powerful and extremely easy to use, and it is also an open source software. Now you can see that more and more Java software is using DOM4J to read and write XML, especially worth mentioning, even Sun's JAXM is also using DOM4J. 6: Total Jdom and DOM perform well in performance test , Memory overflow when testing 10m document. In the case of small documents, it is also worth considering using DOM and JDOM. Although JDOM developers have explained that they expect to focus on performance issues before formal release, it is indeed worth recommending. In addition, DOM is still a very good choice.

转载请注明原文地址:https://www.9cbs.com/read-130518.html

New Post(0)