XML documents can be used and processed in programs written in almost any programming language. But most often people use XML documents in Java. This training allows to learn practical techniques of processing XML documents in Java programs. Participants learn four most commonly used techniques (SAX, DOM, pull parsing and data binding) and discuss their advantages and disadvantages.

The training is for:

  • designers and programmers of IT systems,
  • designers and programmers of web pages and web-based applications, 
  • IT specialists involved in information exchange and application integration.


  • general knowledge of XML, related standards and business applications of XML (prior participation in the trainings "Introduction to XML" and "Designing schemas in XML Schema" is recommended),
  • programming in Java (prior participation in the training "Introduction to Java 5.0" is recommended).

By the end of the training participants will have learned:

  • advantages of using XML parsers,
  • differences between validating and non-validating parsers, as well as between SAX interface, DOM interface and pull parsing technique,
  • how to use parsers to process XML documents in own applications,
  • how XML documents can be represented as Java objects, and how to use this concept in practice.

Training duration: 3 days.

Methodology: lectures and exercises. Most of the time is spent on doing exercises and their discussion. Trainees actively participate in the training.

Training outline:

Day 1.

  1. DOM - generic object model of XML documents.
  2. Validating and non-valiudating parsers; using XML Schema schemas in applications.
  3. Support for namespaces in applications.
  4. Using XPath and XSLT in applications.

Day 2.

  1. JAXB - representing XML documents as Java objects.
  2. Creating classes on a basis of existing schema and using JAXB in applications.
  3. JAXB annotations.

Day 3.

  1. SAX - event-based processing model of XML documents.
  2. Using SAX filters to modify XML documents "on the fly".
  3. StAX - streaming reading of XML documents.