1 / 14

WaysInJavaToParseXML

WaysInJavaToParseXML. Prof: Dr. Shu-Ching Chen TA: Sheng Guan. Parse XML with Java DOM API. How to do this ? The Java DOM API for XML parsing is intended for working with XML as an object graph in memory - a "Document Object Model (DOM)".

dianalamb
Télécharger la présentation

WaysInJavaToParseXML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WaysInJavaToParseXML Prof: Dr. Shu-Ching Chen TA: Sheng Guan

  2. Parse XML with Java DOM API • How to do this ? • The Java DOM API for XML parsing is intended for working with XML as an object graph in memory - a "Document Object Model (DOM)". • The parser traverses the XML file and creates the corresponding DOM objects. • DOM objects are linked together in a tree structure.

  3. Object model ( DOM Tree)

  4. Steps:

  5. XML file and corresponding DOM structure • <book> • <title>Fun Software</title> • <author>Jakob Jenkov</author> • <ISBN>0123456789</ISBN> • </book>

  6. DOM - 3 pieces of XML • 1. Elements (sometimes called tags) • 2. Attributes • 3. The data (also called values) that the elements and attributes describe

  7. Step 1:Creating a Java DOM XML parser • Creating a Java DOM XML parser is done using the javax.xml.parsers.DocumentBuilderFactory class. Here is an example: • DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); • DocumentBuilder builder = null; • try { • builder = builderFactory.newDocumentBuilder(); • } catch (ParserConfigurationException e) { • e.printStackTrace(); • }

  8. Step 2:Parsing an XML file into a DOM tree • try { • Document document = builder.parse( new FileInputStream("/path/to/your/file.xml")); • } catch (SAXException e) { • e.printStackTrace(); • } catch (IOException e) { • e.printStackTrace(); • }

  9. Step 3:Java DOM: Get the Document Object • You are now ready to traverse the Document instance you have received from the DocumentBuilder; • The DOM Document object represents an XML document. When you parse an XML file using a Java DOM parser, you get back a Document object.

  10. The DOM Document Element • The two most commonly used features of DOM are: 1.Accessing Child Elements of an Element 2.Accessing Attributes of an Element • A DOM object contains a lot of different nodes connected in a tree-like structure. At the top is the Document object. • The Document object has a single root element, which is returned by calling getDocumentElement(): • Element rootElement = document.getDocumentElement();

  11. DOM Elements, Child Elements, and the Node Interface • The root element has children. You get the children of an element like this: • NodeList nodes = element.getChildNodes(); • for(int i=0; i<nodes.getLength(); i++){ • Node node = nodes.item(i); • if(node instanceof Element){ • //a child element to process • Element child = (Element) node; • String attribute = child.getAttribute("width"); • } • }

  12. DOM Element Attributes • The getChildNodes() method returns a NodeList object, which is a list of Node elements. • The Node interface is a superinterface for all of the different node types in DOM • The Element interface extends Node and you can access the attributes of an element via the Element interface: String attrValue = element.getAttribute("attrName");

  13. Examine sub-elements //returns a list of subelements of specified name getElementsByTagName("subelementName"); //returns a list of all child nodes getChildNodes(); A whole complete example is in the below link: https://www.tutorialspoint.com/java_xml/java_dom_parse_document.htm

  14. Reference • https://sanaulla.info/2013/05/23/parsing-xml-using-dom-sax-and-stax-parser-in-java/ • https://docs.oracle.com/cd/B28359_01/appdev.111/b28394/adx_j_parser.html • http://tutorials.jenkov.com/java-xml/dom.html • https://www.tutorialspoint.com/java_xml/java_dom_parse_document.htm

More Related