Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.io.ByteArrayOutputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
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 Main {
    public static void main(String[] args) throws Exception {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        // Create a new document
        Document xmlDoc = builder.newDocument();
        // Create root node for the document...
        Element root = xmlDoc.createElement("Players");
        xmlDoc.appendChild(root);

        // Create a "player" node
        Element player = xmlDoc.createElement("player");
        // Set the players ID attribute
        player.setAttribute("ID", "1");

        // Create currentRank node...
        Element currentRank = xmlDoc.createElement("currentRank");
        currentRank.setTextContent("1");
        player.appendChild(currentRank);

        // Create previousRank node...
        Element previousRank = xmlDoc.createElement("previousRank");
        previousRank.setTextContent("1");
        player.appendChild(previousRank);

        // Create playerName node...
        Element playerName = xmlDoc.createElement("PlayerName");
        playerName.setTextContent("Max");
        player.appendChild(playerName);

        // Create Money node...
        Element money = xmlDoc.createElement("Money");
        money.setTextContent("15");
        player.appendChild(money);

        // Add the player to the root node...
        root.appendChild(player);

        ByteArrayOutputStream baos = null;

        baos = new ByteArrayOutputStream();

        Transformer tf = TransformerFactory.newInstance().newTransformer();
        tf.setOutputProperty(OutputKeys.INDENT, "yes");
        tf.setOutputProperty(OutputKeys.METHOD, "xml");
        tf.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");

        DOMSource domSource = new DOMSource(xmlDoc);
        StreamResult sr = new StreamResult(baos);
        tf.transform(domSource, sr);

        baos.flush();
        System.out.println(new String(baos.toByteArray()));
        baos.close();

    }
}