{"id":1750,"date":"2011-03-22T11:57:32","date_gmt":"2011-03-22T06:27:32","guid":{"rendered":"http:\/\/JitendraZaa.com\/blog\/?p=1750"},"modified":"2011-03-22T11:57:32","modified_gmt":"2011-03-22T06:27:32","slug":"create-xml-file-using-jaxp-and-transformation-apis","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/java\/create-xml-file-using-jaxp-and-transformation-apis\/","title":{"rendered":"Create XML File using DOM Parser of JAXP and Transformation APIs"},"content":{"rendered":"<p>We have already studied about :<\/p>\n<ol>\n<li><a title=\"What is DOM and its structure\" href=\"https:\/\/jitendrazaa.com\/blog\/java\/dom-%E2%80%93-document-object-module\/\" target=\"_blank\">What is DOM and its structure<\/a><\/li>\n<li><a title=\"JAXP for DOM Parsers\" href=\"https:\/\/jitendrazaa.com\/blog\/java\/introduction-to-jaxp\/\" target=\"_blank\">JAXP for DOM Parsers<\/a><\/li>\n<\/ol>\n<p>We will create a XML file using DOM parser and Transformation APIs in this article.<!--more--><\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\npackage com.G2.DOM;\n\nimport java.io.FileNotFoundException;\nimport java.io.FileOutputStream;\n\nimport javax.xml.parsers.DocumentBuilder;\nimport javax.xml.parsers.DocumentBuilderFactory;\nimport javax.xml.parsers.ParserConfigurationException;\nimport javax.xml.transform.Result;\nimport javax.xml.transform.Source;\nimport javax.xml.transform.Transformer;\nimport javax.xml.transform.TransformerConfigurationException;\nimport javax.xml.transform.TransformerException;\nimport javax.xml.transform.TransformerFactory;\nimport javax.xml.transform.dom.DOMSource;\nimport javax.xml.transform.stream.StreamResult;\n\nimport org.w3c.dom.Document;\nimport org.w3c.dom.Element;\n\npublic class CreateXMLFile {\n\n\tpublic static void main(String&#x5B;] args)  {\n\n\t\ttry {\n\t\t\tDocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\n\t\t\tDocumentBuilder builder = factory.newDocumentBuilder();\n\t\t\tDocument doc = builder.newDocument();\n\n\t\t\tElement ele = doc.createElement(&quot;Movies&quot;);\n\n\t\t\tElement childElement = doc.createElement(&quot;Movie&quot;);\n\n\t\t\tchildElement.setAttribute(&quot;Type&quot;, &quot;BollyWood&quot;);\n\t\t\tchildElement.setAttribute(&quot;Name&quot;, &quot;Lagaan&quot;);\n\t\t\tchildElement.setAttribute(&quot;Actor&quot;, &quot;Aamir Khan&quot;);\n\n\t\t\t\/\/You can also use setTextContent() method to write between nodes\n\n\t\t\tele.appendChild(childElement);\n\n\t\t\tdoc.appendChild(ele);\n\n\t\t\t\/\/Save the Created XML on Local Disc using Transformation APIs as Discussed\n\t\t\tTransformerFactory tFactory = TransformerFactory.newInstance();\n\t\t\tTransformer transformer = tFactory.newTransformer();\n\n                        \/\/below 2 line are only for pretty look rendering of XML\n\t\t\ttransformer.setOutputProperty(OutputKeys.INDENT, &quot;yes&quot;);\n\t\t\ttransformer.setOutputProperty(&quot;{http:\/\/xml.apache.org\/xslt}indent-amount&quot;, &quot;4&quot;);\n\n\t\t\tSource s = new DOMSource(doc);\n\t\t\tResult res = new StreamResult( new FileOutputStream(&quot;ShivaSoft.xml&quot;));\n\t\t\ttransformer.transform(s, res);\n\t\t\tSystem.out.println(&quot;XML File Created Succesfully&quot;);\n\n\t\t} catch (ParserConfigurationException e) {\n\t\t\te.printStackTrace();\n\t\t}\n\t\tcatch(TransformerConfigurationException e)\n\t\t{\n\t\t\te.printStackTrace();\n\t\t} catch (FileNotFoundException e) {\n\t\t\te.printStackTrace();\n\t\t} catch (TransformerException e) {\n\t\t\te.printStackTrace();\n\t\t}\n\t}\n\n}\n<\/pre>\n<p><strong>Note : <\/strong>The XML document can also be saved on local disc by serializing xml document first and then saving. But the serialization implementation differs for different APIS. So the best practice is using implementation independent method of saving xml document. To read more refer this URL: <a title=\"Saving XML FIle\" href=\"http:\/\/java.sun.com\/developer\/technicalArticles\/xml\/JavaTechandXML_part3\/\" target=\"_blank\">http:\/\/java.sun.com\/developer\/technicalArticles\/xml\/JavaTechandXML_part3\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Example of Creating XML File using JAXP and Transformation APIs<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[3],"tags":[329,129,159,227],"class_list":["post-1750","post","type-post","status-publish","format-standard","hentry","category-java","tag-java","tag-jaxp","tag-pretty-xml","tag-xml"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1756,"url":"https:\/\/www.jitendrazaa.com\/blog\/java\/searching-xml-file-using-dom-parser-of-jaxp\/","url_meta":{"origin":1750,"position":0},"title":"Searching XML File using DOM Parser of JAXP","author":"Jitendra","date":"March 22, 2011","format":false,"excerpt":"Example of Searching XML File using DOM Parser of JAXP","rel":"","context":"In &quot;JAVA&quot;","block_context":{"text":"JAVA","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/java\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1753,"url":"https:\/\/www.jitendrazaa.com\/blog\/java\/traverse-xml-file-using-dom-parser-of-jaxp\/","url_meta":{"origin":1750,"position":1},"title":"Traverse XML file using DOM Parser of JAXP","author":"Jitendra","date":"March 22, 2011","format":false,"excerpt":"Example of Traverse XML file using DOM Parser of JAXP","rel":"","context":"In &quot;JAVA&quot;","block_context":{"text":"JAVA","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/java\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2120,"url":"https:\/\/www.jitendrazaa.com\/blog\/java\/validate-xml-schema-using-dom-parser-and-sax-parser-in-java-using-swing\/","url_meta":{"origin":1750,"position":2},"title":"Validate XML Schema Using DOM Parser and SAX Parser in JAVA Using Swing","author":"Jitendra","date":"May 13, 2011","format":false,"excerpt":"Validate XML Schema Using DOM Parser and SAX Parser in JAVA Using Swing","rel":"","context":"In &quot;JAVA&quot;","block_context":{"text":"JAVA","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/java\/"},"img":{"alt_text":"Input Screen - XML Schema Validation in JAVA Using DOM and SAX Parser","src":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2011\/05\/Input-Screen-XML-Schema-Validation-in-JAVA-Using-DOM-and-SAX-Parser.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1764,"url":"https:\/\/www.jitendrazaa.com\/blog\/java\/read-xml-file-using-sax-parser-in-java\/","url_meta":{"origin":1750,"position":3},"title":"Read XML File using SAX Parser in JAVA","author":"Jitendra","date":"March 22, 2011","format":false,"excerpt":"Example of Reading XML File using SAX Parser in JAVA","rel":"","context":"In &quot;JAVA&quot;","block_context":{"text":"JAVA","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/java\/"},"img":{"alt_text":"SAX Parser","src":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2011\/03\/SAX-Parser.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1774,"url":"https:\/\/www.jitendrazaa.com\/blog\/java\/difference-between-sax-and-dom-parsers\/","url_meta":{"origin":1750,"position":4},"title":"Difference between SAX and DOM Parsers","author":"Jitendra","date":"March 22, 2011","format":false,"excerpt":"What is the difference between SAX And DOM Parsers","rel":"","context":"In &quot;JAVA&quot;","block_context":{"text":"JAVA","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/java\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1742,"url":"https:\/\/www.jitendrazaa.com\/blog\/java\/introduction-to-jaxp\/","url_meta":{"origin":1750,"position":5},"title":"Introduction to JAXP and Difference between JAXP and JAXB","author":"Jitendra","date":"March 22, 2011","format":false,"excerpt":"Introduction to JAXP (JAVA API for XML Processing), SAX (Simple API for XML Parsing),Extensible Style sheet language transformation (XSLT)","rel":"","context":"In &quot;JAVA&quot;","block_context":{"text":"JAVA","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/java\/"},"img":{"alt_text":"XML Processing using DOM in JAXP","src":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2011\/03\/XML-Processing-using-DOM-in-JAXP.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/1750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=1750"}],"version-history":[{"count":0,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/1750\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=1750"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=1750"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=1750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}