Created
December 9, 2011 03:23
-
-
Save jsjohnst/1450003 to your computer and use it in GitHub Desktop.
The code needed to build an XML string properly in Java... Ugh!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.*; | |
import org.w3c.dom.*; | |
import javax.xml.parsers.*; | |
import javax.xml.transform.*; | |
import javax.xml.transform.dom.*; | |
import javax.xml.transform.stream.*; | |
public class XMLWriter { | |
public static void main (String args[]) { | |
new XMLWriter(); | |
} | |
public XMLWriter() { | |
String comment = "This is my comment"; | |
String title = "This is the title"; | |
String url = "http://mysite.com"; | |
String image = "http://mysite.com/image.png"; | |
String visibility = "anyone"; | |
try { | |
DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance(); | |
DocumentBuilder docBuilder = dbfac.newDocumentBuilder(); | |
Document doc = docBuilder.newDocument(); | |
Element root = doc.createElement("share"); | |
doc.appendChild(root); | |
Element comment_node = doc.createElement("comment"); | |
comment_node.appendChild(doc.createTextNode(comment)); | |
root.appendChild(comment_node); | |
Element content_node = doc.createElement("content"); | |
root.appendChild(content_node); | |
Element title_node = doc.createElement("title"); | |
title_node.appendChild(doc.createTextNode(title)); | |
content_node.appendChild(title_node); | |
Element url_node = doc.createElement("submitted-url"); | |
url_node.appendChild(doc.createTextNode(url)); | |
content_node.appendChild(url_node); | |
Element image_node = doc.createElement("submitted-image-url"); | |
image_node.appendChild(doc.createTextNode(image)); | |
content_node.appendChild(image_node); | |
Element visibility_node = doc.createElement("visibility"); | |
root.appendChild(visibility_node); | |
Element code_node = doc.createElement("code"); | |
code_node.appendChild(doc.createTextNode(visibility)); | |
visibility_node.appendChild(code_node); | |
TransformerFactory transfac = TransformerFactory.newInstance(); | |
Transformer trans = transfac.newTransformer(); | |
trans.setOutputProperty(OutputKeys.INDENT, "yes"); | |
StringWriter sw = new StringWriter(); | |
StreamResult result = new StreamResult(sw); | |
DOMSource source = new DOMSource(doc); | |
trans.transform(source, result); | |
String xmlString = sw.toString(); | |
System.out.println("Here's the xml:\n\n" + xmlString); | |
} catch (Exception e) { | |
System.out.println(e); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment