Java XML Element Root createRootElement(Document doc, String name)

Here you can find the source of createRootElement(Document doc, String name)

Description

Creates a root element for the specified document.

License

Apache License

Parameter

Parameter Description
doc a parameter
name a parameter

Declaration

public static Element createRootElement(Document doc, String name) 

Method Source Code

//package com.java2s;
/*/*from   w  ww  . j  a  v a2s.c  o  m*/
Copyright 2016, 2017 Institut National de la Recherche Agronomique
    
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
    
http://www.apache.org/licenses/LICENSE-2.0
    
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

import org.w3c.dom.Text;

public class Main {
    /**
     * Creates a root element for the specified document.
     * @param doc
     * @param name
     */
    public static Element createRootElement(Document doc, String name) {
        Element result = doc.createElement(name);
        doc.appendChild(result);
        return result;
    }

    /**
     * Creates an element in the specified document.
     * This method also creates indentation text nodes.
     * @param doc
     * @param parent
     * @param depth
     * @param name
     */
    public static Element createElement(Document doc, Node parent, int depth, String name) {
        Element result = doc.createElement(name);
        if (depth >= 0)
            createIndent(doc, parent, depth);
        if (parent != null)
            parent.appendChild(result);
        if (depth >= 0)
            createIndent(doc, parent, depth - 1);
        return result;
    }

    /**
     * Creates an element in the specified document, the created element has a single text node child with the specified contents.
     * @param doc
     * @param parent
     * @param depth
     * @param name
     * @param contents
     */
    public static Element createElement(Document doc, Node parent, int depth, String name, String contents) {
        Element result = createElement(doc, parent, depth, name);
        createText(doc, result, contents);
        return result;
    }

    private static Text createIndent(Document doc, Node parent, int depth) {
        StringBuilder sb = new StringBuilder(System.getProperty("line.separator"));
        for (int i = 0; i < depth; ++i)
            sb.append("  ");
        return createText(doc, parent, sb.toString());
    }

    /**
     * Creates a text node in the specified document.
     * @param doc
     * @param parent
     * @param contents
     */
    public static Text createText(Document doc, Node parent, String contents) {
        Text result = doc.createTextNode(contents);
        if (parent != null)
            parent.appendChild(result);
        return result;
    }
}

Related

  1. createRoot(Document document, String title)
  2. createRootElement(Document doc, String name)
  3. createRootElement(Document doc, String rootTagName)
  4. getElement(String elementName, Node rootNode)
  5. getElementData(final Element root, final String elementName)