Java XML Element Create createElement(Document doc, Node parent, int depth, String name, String contents)

Here you can find the source of createElement(Document doc, Node parent, int depth, String name, String contents)

Description

Creates an element in the specified document, the created element has a single text node child with the specified contents.

License

Apache License

Parameter

Parameter Description
doc a parameter
parent a parameter
depth a parameter
name a parameter
contents a parameter

Declaration

public static Element createElement(Document doc, Node parent, int depth, String name, String contents) 

Method Source Code

//package com.java2s;
/*/*from   ww  w  . j  a v  a  2  s  . 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 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. createChildInternal(Document document, Node parent, String nodeName, String... attr_name_and_value)
  2. createComment(Element parent, String str)
  3. createElement(Document d, String name, String value)
  4. createElement(Document d, String name, String value, boolean isCDATA)
  5. createElement(Document d, String tagName)
  6. createElement(Document doc, Node parent, String tagName)
  7. createElement(Document doc, String elementNamespace, String elementName)
  8. createElement(Document doc, String expr, Element parentElement, String elementName, boolean firstChild, Map attributes)
  9. createElement(Document doc, String name, Map attributes)