Preview Java XML Tutorial

Total Page:16

File Type:pdf, Size:1020Kb

Preview Java XML Tutorial XML 1 XML About the Tutorial XML (Extensible Markup Language) is a very popular simple text-based language that can be used as a mode of communication between different applications. It is considered as a standard means to transport and store data. JAVA provides excellent support and a rich set of libraries to parse, modify or inquire XML documents. This tutorial will teach you basic XML concepts and the usage of various types of Java based XML parsers in a simple and intuitive way. Audience This tutorial has been prepared for beginners to help them understand the basic-to-advanced concepts related to XML parsing using Java Programming language. After completing this tutorial, you will find yourself at a moderate level of expertise in XML parsing using Java from where you can take yourself to higher levels of expertise. Prerequisites Knowledge of computers is not a prerequisite to follow the contents of this tutorial. This tutorial assumes no background in computers or computer programming, though basic knowledge of computer terminologies will help in understanding the given concepts very easily. Disclaimer & Copyright Copyright 2016 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected] 2 XML Table of Contents About the Tutorial ........................................................................................................................................... 1 Audience .......................................................................................................................................................... 1 Prerequisites .................................................................................................................................................... 1 Disclaimer & Copyright .................................................................................................................................... 1 Table of Contents ............................................................................................................................................ 2 1. Java XML − Overview ................................................................................................................................ 5 What is XML? ................................................................................................................................................... 5 Example ........................................................................................................................................................... 5 Advantages ...................................................................................................................................................... 6 Disadvantages.................................................................................................................................................. 6 2. Java XML − Parsers .................................................................................................................................... 7 What is XML Parser? ........................................................................................................................................ 7 JAVA DOM PARSER ...................................................................................................................... 8 3. Java DOM Parser − Overview .................................................................................................................... 9 When to Use? .................................................................................................................................................. 9 What you get? ................................................................................................................................................. 9 Advantages ...................................................................................................................................................... 9 DOM Interfaces ............................................................................................................................................... 9 Common DOM Methods ............................................................................................................................... 10 4. Java DOM Parser − Parse XML Document ............................................................................................... 11 Steps to Using JDOM ..................................................................................................................................... 11 Demo Example............................................................................................................................................... 12 5. Java JDOM Parser − Query XML Document ............................................................................................. 16 Demo Example............................................................................................................................................... 16 6. Java JDOM Parser − Create XML Document ............................................................................................ 19 Demo Example............................................................................................................................................... 19 7. Java JDOM Parser − Modify XML Document ........................................................................................... 22 Demo Example............................................................................................................................................... 22 JAVA SAX PARSER ...................................................................................................................... 25 3 XML 8. Java SAX Parser − Overview .................................................................................................................... 26 When to Use? ................................................................................................................................................ 26 Disadvantages of SAX .................................................................................................................................... 26 ContentHandler Interface .............................................................................................................................. 27 Attributes Interface ....................................................................................................................................... 27 9. Java SAX Parser - Parse XML Document .................................................................................................. 28 Demo Example............................................................................................................................................... 28 10. Java SAX Parser − Query XML Document ................................................................................................ 34 Demo Example............................................................................................................................................... 34 11. Java SAX Parser − Create XML Document ................................................................................................ 40 12. Java SAX Parser − Modify XML Document ............................................................................................... 41 Demo Example............................................................................................................................................... 41 JDOM XML PARSER ................................................................................................................... 47 13. Java DOM Parser − Overview .................................................................................................................. 48 Environment Setup ........................................................................................................................................ 48 When to Use? ................................................................................................................................................ 48 What You Get? .............................................................................................................................................. 48 Advantages .................................................................................................................................................... 48 JDOM Classes ................................................................................................................................................. 48 Common JDOM Methods .............................................................................................................................. 49 14. Java DOM Parser − Parse XML Document ..............................................................................................
Recommended publications
  • JAXB Release Documentation JAXB Release Documentation Table of Contents
    JAXB Release Documentation JAXB Release Documentation Table of Contents Overview .......................................................................................................................... 1 1. Documentation ....................................................................................................... 1 2. Software Licenses ................................................................................................... 1 3. Sample Apps .......................................................................................................... 2 3.1. Using the Runtime Binding Framework ............................................................ 2 Release Notes .................................................................................................................... 6 1. Java™ 2 Platform, Standard Edition (J2SE™) Requirements .......................................... 7 2. Identifying the JAR Files ......................................................................................... 7 3. Locating the Normative Binding Schema .................................................................... 7 4. Changelog ............................................................................................................. 7 4.1. Changes between 2.3.0.1 and 2.4.0 .................................................................. 7 4.2. Changes between 2.3.0 and 2.3.0.1 .................................................................. 7 4.3. Changes between 2.2.11 and 2.3.0 ..................................................................
    [Show full text]
  • Fun Factor: Coding with Xquery a Conversation with Jason Hunter by Ivan Pedruzzi, Senior Product Architect for Stylus Studio
    Fun Factor: Coding With XQuery A Conversation with Jason Hunter by Ivan Pedruzzi, Senior Product Architect for Stylus Studio Jason Hunter is the author of Java Servlet Programming and co-author of Java Enterprise Best Practices (both O'Reilly Media), an original contributor to Apache Tomcat, and a member of the expert groups responsible for Servlet, JSP, JAXP, and XQJ (XQuery API for Java) development. Jason is an Apache Member, and as Apache's representative to the Java Community Process Executive Committee he established a landmark agreement for open source Java. He co-created the open source JDOM library to enable optimized Java and XML integration. More recently, Jason's work has focused on XQuery technologies. In addition to helping on XQJ, he co-created BumbleBee, an XQuery test harness, and started XQuery.com, a popular XQuery development portal. Jason presently works as a Senior Engineer with Mark Logic, maker of Content Interaction Server, an XQuery-enabled database for content. Jason is interviewed by Ivan Pedruzzi, Senior Product Architect for Stylus Studio. Stylus Studio is the leading XML IDE for XML data integration, featuring advanced support for XQuery development, including XQuery editing, mapping, debugging and performance profiling. Ivan Pedruzzi: Hi, Jason. Thanks for taking the time to XQuery behind a J2EE server (I have a JSP tag library talk with The Stylus Scoop today. Most of our readers for this) but I’ve found it easier to simply put XQuery are familiar with your past work on Java Servlets; but directly on the web. What you do is put .xqy files on the could you tell us what was behind your more recent server that are XQuery scripts to produce XHTML interest and work in XQuery technologies? pages.
    [Show full text]
  • Xml Parsing with Dom4j
    University at Buffalo Hanifi Gunes Spring 2011 PhD Candidate Computer Science & Engineering CSE 586 - Distributed Systems hanifigu{at}buffalo{dot}edu xml parsing with dom4j In this tutorial we will talk about XML parsing with dom4j, an easy to use, open source library working with XML, XPath and XSLT on the Java platform. So let’s get started. ➀ Download and install eclipse for Java developers: http://www.eclipse.org Download the dom4j jar package: http://dom4j.sourceforge.net Download the jaxen jar package: http://jaxen.codehaus.org ➁ Run eclipse and locate your workspace directory if you are running it for the first time. Now, create a new Java Project, MyXMLReader, from File ➝ New ➝ Java Project. Notice that the project is created under the workspace directory {workspace_dir}/MyXMLReader. ➂ Right click on your project and select Build Path ➝ Add External Archives. Locate and add the dom4j jar archive from step 1 and repeat the same procedure to add the jaxen package to your build path. At that point, you should see these packages listed under Referenced Libraries as it is on the left snapshot. ➃ Now that, the project setup is done we can work with Yahoo! Weather. Visit http:// developer.yahoo.com/weather/ to get familiar with the XML response schema. First thing to observe is that you can query Yahoo Weather for a particular zip code using the following pattern http://weather.yahooapis.com/forecastrss?p=ZIPCODE. Try substituting your own zip code into the address pattern and then navigate to that address from your browser in order to inspect the XML response.
    [Show full text]
  • XML for Java Developers G22.3033-002 Course Roadmap
    XML for Java Developers G22.3033-002 Session 1 - Main Theme Markup Language Technologies (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Course Roadmap Consider the Spectrum of Applications Architectures Distributed vs. Decentralized Apps + Thick vs. Thin Clients J2EE for eCommerce vs. J2EE/Web Services, JXTA, etc. Learn Specific XML/Java “Patterns” Used for Data/Content Presentation, Data Exchange, and Application Configuration Cover XML/Java Technologies According to their Use in the Various Phases of the Application Development Lifecycle (i.e., Discovery, Design, Development, Deployment, Administration) e.g., Modeling, Configuration Management, Processing, Rendering, Querying, Secure Messaging, etc. Develop XML Applications as Assemblies of Reusable XML- Based Services (Applications of XML + Java Applications) 2 1 Agenda XML Generics Course Logistics, Structure and Objectives History of Meta-Markup Languages XML Applications: Markup Languages XML Information Modeling Applications XML-Based Architectures XML and Java XML Development Tools Summary Class Project Readings Assignment #1a 3 Part I Introduction 4 2 XML Generics XML means eXtensible Markup Language XML expresses the structure of information (i.e., document content) separately from its presentation XSL style sheets are used to convert documents to a presentation format that can be processed by a target presentation device (e.g., HTML in the case of legacy browsers) Need a
    [Show full text]
  • XML: Looking at the Forest Instead of the Trees Guy Lapalme Professor Département D©Informatique Et De Recherche Opérationnelle Université De Montréal
    XML: Looking at the Forest Instead of the Trees Guy Lapalme Professor Département d©informatique et de recherche opérationnelle Université de Montréal C.P. 6128, Succ. Centre-Ville Montréal, Québec Canada H3C 3J7 [email protected] http://www.iro.umontreal.ca/~lapalme/ForestInsteadOfTheTrees/ Publication date April 14, 2019 XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/ XML: Looking at the Forest Instead of the Trees Guy Lapalme Professor Département d©informatique et de recherche opérationnelle Université de Montréal C.P. 6128, Succ. Centre-Ville Montréal, Québec Canada H3C 3J7 [email protected] http://www.iro.umontreal.ca/~lapalme/ForestInsteadOfTheTrees/ Publication date April 14, 2019 Abstract This tutorial gives a high-level overview of the main principles underlying some XML technologies: DTD, XML Schema, RELAX NG, Schematron, XPath, XSL stylesheets, Formatting Objects, DOM, SAX and StAX models of processing. They are presented from the point of view of the computer scientist, without the hype too often associated with them. We do not give a detailed description but we focus on the relations between the main ideas of XML and other computer language technologies. A single compact pretty-print example is used throughout the text to illustrate the processing of an XML structure with XML technologies or with Java programs. We also show how to create an XML document by programming in Java, in Ruby, in Python, in PHP, in E4X (Ecmascript for XML) and in Swift. The source code of the example XML ®les and the programs are available either at the companion web site of this document or by clicking on the ®le name within brackets at the start of the caption of each example.
    [Show full text]
  • Product Description for Saxon- HE (Home Edition) Version 9.7 Released Nov 2015 Page 1/4
    Product Description for Saxon- HE (Home Edition) Version 9.7 released Nov 2015 Page 1/4 This document lists the features provided by Saxon 9.7 open source Home Edition (Saxon-HE). This document does not form part of any contract unless expressly incorporated. Language Support 1. XSLT (Transformation Processing) 1.1 XSLT 2.0 Provides a basic XSLT 2.0 processor as defined in section 21 of the (Basic) XSLT 2.0 Recommendation: it is a conformance level that includes all features of the language other than those that involve schema processing. For more details see: XSLT 2.0 conformance. Relevant W3C Specification: XSLT 2.0 Recommendation (23 January 2007). 2. XPath 2.1 XPath 2.0 Provides all XPath 2.0 features other than schema-awareness. (Basic) For more details see: XPath 2.0 conformance. Relevant W3C Specification: XPath 2.0 Recommendation (14 December 2010). 2.2 XPath 3.0 Provides all XPath 3.0 features other than schema-awareness and (Basic) higher-order functions. For more details see: XPath 3.0 conformance. Relevant W3C Specification: XPath 3.0 Recommendation (08 April 2014). 2.3 XPath 3.1 Provides all XPath 3.1 features other than schema-awareness and (Basic) higher-order functions. This includes an implementation of maps and arrays, and support for JSON. For more details see: XPath 3.1 conformance. Relevant W3C Specification: XPath 3.1 Candidate Recommendation (18 December 2014). Product Description for Saxon-HE (Home Edition) © Saxonica Ltd. 2017 Product Description for Saxon- HE (Home Edition) Version 9.7 released Nov 2015 Page 2/4 3.
    [Show full text]
  • JAVA XML Interview Questions
    JJAAVVAA XXMMLL -- IINNTTEERRVVIIEEWW QQUUEESSTTIIOONNSS http://www.tutorialspoint.com/java_xml/java_xml_interview_questions.htm Copyright © tutorialspoint.com Dear readers, these JAVA based XML Parsing Interview Questions have been designed specially to get you acquainted with the nature of questions you may encounter during your interview for the subject of JAVA based XML Parsing. As per my experience good interviewers hardly plan to ask any particular question during your interview, normally questions start with some basic concept of the subject and later they continue based on further discussion and what you answer − What XML stands for? XML stands for Extensible Markup Language. What are the advantages of using XML? Following are the advantages that XML provides − Technology agnostic - Being plain text, XML is technology independent. It can be used by any technology for data storage and transmission purpose. Human readable- XML uses simple text format. It is human readable and understandable. Extensible - in XML, custom tags can be created and used very easily. Allow Validation - Using XSD, DTD and XML structure can be validated easily. What are the disadvantages of using XML? Following are the disadvantages of XML usage − Redundant Syntax - Normally XML file contains lot of repeatitive terms. Verbose-Being a verbose language, XML file size increases the transmission and storage costs. What is XML Parsing? Parsing XML refers to going through XML document to access data or to modify data in one or other way. What is XML Parser? XML Parser provides way how to access or modify data present in an XML document. Java provides multiple options to parse XML document.
    [Show full text]
  • Testing XSLT
    Testing XSLT Tony Graham Menteith Consulting Ltd 13 Kelly's Bay Beach Skerries, Co Dublin Ireland [email protected] http://www.menteithconsulting.com Version 1.3 – XML Prague 2009 – 21 March 2009 © 2007–2009 Menteith Consulting Ltd Testing XSLT Testing XSLT Introductions 5 XSLT 5 Testing Source 5 Testing Result 6 Testing Source–Result 6 Testing the Stylesheet 7 Problem Scenarios 16 Errors That Aren't Caught By Other Tests 17 Resources 18 © 2007–2009 Menteith Consulting Ltd 3 Menteith Consulting 4 © 2007–2009 Menteith Consulting Ltd Testing XSLT Testing XSLT 1 • Introduction • Testing Source • Testing Result • Testing Source–Result • Testing the Stylesheet Introductions Who am I? 2 • Tony Graham of Menteith Consulting • XML and XSL/XSLT consultant • Based in Dublin, Ireland • Clients in Ireland, USA, France, UK • Doing XSLT since 1998 • Working with both XSLT 1.0 and XSLT 2.0 XSLT 3 Transforms source tree into result tree by associating patterns with templates XSLT / Stylesheet Source Result Tree Tree / / XSLT Processor © 2007–2009 Menteith Consulting Ltd 5 Menteith Consulting 4 Testing Source • Good if you can do it • May be well-formed or very loose schema • May be constraints that aren't easily checked 5 Testing Result • Good if you can do it • May be well-formed or very loose schema • May be constraints that aren't easily checked, e.g., XSL FO • If HTML, use HTML testing tools, e.g., WebTest • Harder to verify text output 6 Testing Source–Result 6 © 2007–2009 Menteith Consulting Ltd Testing XSLT XSLV Static Validation Tool
    [Show full text]
  • JSR-000206 Java™API for XML Processing (“Specification”)
    JSR-000206 Java™API for XML Processing (“Specification”) Version: 1.5 July 16, 2013 Maintenance Lead: Joe Wang Oracle Corporation Feedback: Please send comments to [email protected] Oracle Corporation 500 Oracle Parkway Redwood Shores, CA 94065 USA ORACLE AMERICA, INC. IS WILLING TO LICENSE THIS SPECIFICATION TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS AGREEMENT. PLEASE READ THE TERMS AND CONDITIONS OF THIS AGREEMENT CAREFULLY. BY DOWNLOADING THIS SPECIFICATION, YOU ACCEPT THE TERMS AND CONDITIONS OF THE AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY IT, SELECT THE "DECLINE" BUTTON AT THE BOTTOM OF THIS PAGE. Specification: <JSR-206 Java™API for XML Processing ("Specification") Version: 1.5 Status: Final Release Specification Lead: Oracle America, Inc. ("Specification Lead") Release: March 2013 Copyright 2013 Oracle America, Inc. All rights reserved. LIMITED LICENSE GRANTS 1. License for Evaluation Purposes. Specification Lead hereby grants you a fully-paid, non-exclusive, non- transferable, worldwide, limited license (without the right to sublicense), under Specification Lead's applicable intellectual property rights to view, download, use and reproduce the Specification only for the purpose of internal evaluation. This includes (i) developing applications intended to run on an implementation of the Specification, provided that such applications do not themselves implement any portion(s) of the Specification, and (ii) discussing the Specification with any third party; and (iii) excerpting brief portions of the Specification in oral or written communications which discuss the Specification provided that such excerpts do not in the aggregate constitute a significant portion of the Specification.
    [Show full text]
  • Designing of an Xpath Engine for P2P XML Store
    Designing of an XPath Engine for P2P XML Store Jovic, Darko; and Milutinovic, Veljko We can use XPath engine which works with Abstract— In the introductory part, this paper generic DOM and use it on top of P2P DOM defines the general environment for this research layer. This way we get full XPath functionality, but and defines the terms of interest. Then we define query execution is performed locally. All required the research problem: How to perform distributed node sets are pulled from the community and XPath query execution in a P2P environment. nodes matched against query to get the result. Existing solutions to the problem are briefly surveyed, and their drawbacks are underlined; Getting node sets from the community in case of each surveyed piece of research is analyzed large XML documents can cause increased according to the same template. Then, the essence communication among local peer and other of the proposed solution is presented: peers which contain node sets for specific implementation of an XPath engine which works in documents. High communication traffic can be a P2P environment and performs distributed avoided by distributing XPath query execution. query execution. The conclusion is from the point of view of performance/complexity ratio. 1. INTRODUCTION PATH is a language for addressing parts of X an XML document, designed to be used by both XSLT and XPointer [1][4]. XPath expressions are used to query XML data, express transformations and reference elements in remote documents. XPath is specification language designed by the World Wide Web Consortium (W3C) [6]. It is an expression language for addressing parts of an XML document, used by various XML Figure 1: Peer-to-Peer XML Storage System technologies such as XSL Transformation (XSLT) and XML Pointer Language (XPointer).
    [Show full text]
  • Xpath 2.0 in Context
    P1: KTX WY030-01 WY030-Kay WY030-Kay-v3.cls July 7, 2004 15:52 XPath 2.0 in Context This chapter explains what kind of language XPath is, and some of the design thinking behind it. It explains how XPath relates to the other specifications in the growing XML family, and to describe what’s new in XPath 2.0 compared with XPath 1.0. The chapter starts with an introduction to the basic concepts behind the language, its data model and the different kinds of expression it supports. This is followed by a survey of new features, since I think it’s likely that many readers of this book will already have some familiarity with XPath 1.0. I also introduce a few software products that you can use to try out these new features. The central part of the chapter is concerned with the relationships between XPath and other languages and specifications: with XSLT, with XML itself and XML namespaces, with XPointer, with XQuery, and with XML Schema. It also takes a look at the way XPath interacts with Java and with the various document object models (DOM and its variations). The final section of the chapter tries to draw out the distinctive features of the language, the things that make XPath different. The aim is to understand what lies behind the peculiarities of the language, to get an appreciation for the reasons (sometimes good reasons and sometimes bad) why the language is the way it is. Hopefully, with this insight, you will be able to draw on the strengths of the language and learn to skirt round its weaker points.
    [Show full text]
  • A Performance Based Comparative Study of Different Apis Used for Reading and Writing XML Files
    A Performance Based Comparative Study of Different APIs Used for Reading and Writing XML Files A Thesis submitted to the Graduate School at the University of Cincinnati In Partial Fulfillment of the requirements for the Degree of MASTER OF SCIENCE In the School of Electronics and Computing Systems of the College of Engineering and Applied Sciences By Neha Gujarathi Bachelor of Engineering (B. E.), 2009 University of Pune, India Committee Chair: Dr. Carla Purdy ABSTRACT Recently, XML (eXtensible Markup Language) files have become of great importance in business enterprises. Information in the XML files can be easily shared across the web. Thus, extracting data from XML documents and creating XML documents become important topics of discussion. There are many APIs (Application Program Interfaces) available which can perform these operations. For beginners in XML processing, selecting an API for a specific project is a difficult task. In this thesis we compare various APIs that are capable of extracting data and / or creating XML files. The comparison is done based on the performance time for different types of inputs which form different cases. The codes for all the different cases are implemented. Two different systems, one with Windows 7 OS and another with Mac OS are used to perform all the experiments. Using the results found we propose a suitable API for a given condition. In addition to the performance, programming ease for these APIs is taken into consideration as another aspect for comparison. To compare the programming ease, aspects such as number of lines of code, complexity of the code and complexity of understanding the coding for the particular API are considered.
    [Show full text]