{"id":1403,"date":"2022-08-03T16:57:24","date_gmt":"2022-12-23T17:47:21","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/uncategorized\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/"},"modified":"2024-03-09T16:04:50","modified_gmt":"2024-03-09T16:04:50","slug":"convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/","title":{"rendered":"Convert string to XML document in Java"},"content":{"rendered":"<p>Occasionally, when coding in Java, we come across a String that is actually an XML. In order to manipulate it, we must convert it into an XML Document (org.w3c.dom.Document). Additionally, for debugging or passing it to another function, there may be a need to convert a Document object into a String. To address these requirements, I am presenting two utility functions.<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>The function convertStringToDocument takes a string as input and converts it into a<\/ol>\n<\/li>\n<\/ol>\n<p><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document_Object_Model\/Introduction\">DOM<\/a><\/p>\n<ol>Document before returning it. To accomplish this, we will utilize InputSource and StringReader.<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>The function convertDocumentToString, on the other hand, receives a Document as input and converts it into a string. To achieve this, we will make use of Transformer, StringWriter, and StreamResult.<\/ol>\n<pre class=\"post-pre\"><code>package com.scdev.xml;\r\n\r\nimport java.io.StringReader;\r\nimport java.io.StringWriter;\r\n\r\nimport javax.xml.parsers.DocumentBuilder;\r\nimport javax.xml.parsers.DocumentBuilderFactory;\r\nimport javax.xml.transform.OutputKeys;\r\nimport javax.xml.transform.Transformer;\r\nimport javax.xml.transform.TransformerException;\r\nimport javax.xml.transform.TransformerFactory;\r\nimport javax.xml.transform.dom.DOMSource;\r\nimport javax.xml.transform.stream.StreamResult;\r\n\r\nimport org.w3c.dom.Document;\r\nimport org.xml.sax.InputSource;\r\n\r\npublic class StringToDocumentToString {\r\n\r\n    public static void main(String[] args) {\r\n        final String xmlStr = \"&lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"yes\\\"?&gt;\\n\"+\r\n                                \"&lt;Emp id=\\\"1\\\"&gt;&lt;name&gt;Pankaj&lt;\/name&gt;&lt;age&gt;25&lt;\/age&gt;\\n\"+\r\n                                \"&lt;role&gt;Developer&lt;\/role&gt;&lt;gen&gt;Male&lt;\/gen&gt;&lt;\/Emp&gt;\";\r\n        Document doc = convertStringToDocument(xmlStr);\r\n        \r\n        String str = convertDocumentToString(doc);\r\n        System.out.println(str);\r\n    }\r\n\r\n    private static String convertDocumentToString(Document doc) {\r\n        TransformerFactory tf = TransformerFactory.newInstance();\r\n        Transformer transformer;\r\n        try {\r\n            transformer = tf.newTransformer();\r\n            \/\/ below code to remove XML declaration\r\n            \/\/ transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, \"yes\");\r\n            StringWriter writer = new StringWriter();\r\n            transformer.transform(new DOMSource(doc), new StreamResult(writer));\r\n            String output = writer.getBuffer().toString();\r\n            return output;\r\n        } catch (TransformerException e) {\r\n            e.printStackTrace();\r\n        }\r\n        \r\n        return null;\r\n    }\r\n\r\n    private static Document convertStringToDocument(String xmlStr) {\r\n        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  \r\n        DocumentBuilder builder;  \r\n        try  \r\n        {  \r\n            builder = factory.newDocumentBuilder();  \r\n            Document doc = builder.parse( new InputSource( new StringReader( xmlStr ) ) ); \r\n            return doc;\r\n        } catch (Exception e) {  \r\n            e.printStackTrace();  \r\n        } \r\n        return null;\r\n    }\r\n\r\n}\r\n<\/code><\/pre>\n<p>When we execute the program mentioned above, we obtain the identical String output that was used to form the DOM Document.<\/p>\n<pre class=\"post-pre\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;Emp id=\"1\"&gt;&lt;name&gt;Pankaj&lt;\/name&gt;&lt;age&gt;25&lt;\/age&gt;\r\n&lt;role&gt;Developer&lt;\/role&gt;&lt;gen&gt;Male&lt;\/gen&gt;&lt;\/Emp&gt;\r\n<\/code><\/pre>\n<p>To get a condensed version of a String without new line characters, you can utilize the replaceAll(&#8220;\\n|\\r&#8221;, &#8220;&#8221;) method.<\/p>\n<p>&nbsp;<\/p>\n<p>more tutorials:<\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/spring-rest-xml-and-json\/\" target=\"_blank\" rel=\"noopener\">One example of Spring REST XML and JSON<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/interview-questions-for-web-services-soap-restful\/\" target=\"_blank\" rel=\"noopener\">Interview Questions for Web Services &#8211; SOAP, RESTful<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/convert-string-to-character-in-java\/\" target=\"_blank\" rel=\"noopener\">convert string to character array in Java.<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/java-string-substring-method\/\" target=\"_blank\" rel=\"noopener\">Java String substring() method<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p>&nbsp;<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Occasionally, when coding in Java, we come across a String that is actually an XML. In order to manipulate it, we must convert it into an XML Document (org.w3c.dom.Document). Additionally, for debugging or passing it to another function, there may be a need to convert a Document object into a String. To address these requirements, [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-1403","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Convert string to XML document in Java - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"we come across a String that is actually an XML. In order to manipulate it, we must convert it into an XML Documen\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Convert string to XML document in Java\" \/>\n<meta property=\"og:description\" content=\"we come across a String that is actually an XML. In order to manipulate it, we must convert it into an XML Documen\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-23T17:47:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-09T16:04:50+00:00\" \/>\n<meta name=\"author\" content=\"Benjamin Taylor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin Taylor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/\"},\"author\":{\"name\":\"Benjamin Taylor\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\"},\"headline\":\"Convert string to XML document in Java\",\"datePublished\":\"2022-12-23T17:47:21+00:00\",\"dateModified\":\"2024-03-09T16:04:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/\"},\"wordCount\":226,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/\",\"name\":\"Convert string to XML document in Java - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2022-12-23T17:47:21+00:00\",\"dateModified\":\"2024-03-09T16:04:50+00:00\",\"description\":\"we come across a String that is actually an XML. In order to manipulate it, we must convert it into an XML Documen\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Convert string to XML document in Java\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\",\"name\":\"Benjamin Taylor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"caption\":\"Benjamin Taylor\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Convert string to XML document in Java - Blog - Silicon Cloud","description":"we come across a String that is actually an XML. In order to manipulate it, we must convert it into an XML Documen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/","og_locale":"en_US","og_type":"article","og_title":"Convert string to XML document in Java","og_description":"we come across a String that is actually an XML. In order to manipulate it, we must convert it into an XML Documen","og_url":"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2022-12-23T17:47:21+00:00","article_modified_time":"2024-03-09T16:04:50+00:00","author":"Benjamin Taylor","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Benjamin Taylor","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/"},"author":{"name":"Benjamin Taylor","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9"},"headline":"Convert string to XML document in Java","datePublished":"2022-12-23T17:47:21+00:00","dateModified":"2024-03-09T16:04:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/"},"wordCount":226,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/","url":"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/","name":"Convert string to XML document in Java - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2022-12-23T17:47:21+00:00","dateModified":"2024-03-09T16:04:50+00:00","description":"we come across a String that is actually an XML. In order to manipulate it, we must convert it into an XML Documen","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Convert string to XML document in Java"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9","name":"Benjamin Taylor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","caption":"Benjamin Taylor"},"url":"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/1403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=1403"}],"version-history":[{"count":4,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/1403\/revisions"}],"predecessor-version":[{"id":1819,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/1403\/revisions\/1819"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=1403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=1403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=1403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}