Reputation: 6248
I'm using the Xerces xml library in java.
I'm able to create an element like:
Element myElement = doc.createElement("element");
which would result in <element></element>
.
How would I create an element that would result in a self closing tag like so?
<element/>
Thanks.
Upvotes: 2
Views: 2425
Reputation: 21
For example you if you need to create an XML like
xml
<?xml version="1.0" encoding="UTF-8"?>
<RootElement>
<element />
</RootElement>
we can have our snippet of java code like the below.
import java.io.StringWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class XmlTransformer{
public static void main(String args[]) {
String xml = "";
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement("RootElement");
doc.appendChild(rootElement);
Element myElement = doc.createElement("element");
rootElement.appendChild(myElement);
TransformerFactory transformerFactory = TransformerFactory
.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
transformer.transform(source, result);
xml = writer.toString();
System.out.println(" xml \n \n " +xml);
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
}
}
Upvotes: 1