Java XML Duration Add addElement(Element parent, String name)

Here you can find the source of addElement(Element parent, String name)

Description

Adds a child element to the parent.

License

Apache License

Parameter

Parameter Description
parent a parameter
name a parameter

Return

the newly created child element

Declaration

static public Element addElement(Element parent, String name) 

Method Source Code

//package com.java2s;
/*/*from   ww  w. j  a  v a2s . com*/
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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.Element;

import org.w3c.dom.Node;

public class Main {
    /**
     * Adds a new child element to a parent.
     * 
     * @param parent the Element to which to append the child
     * @param name the (tag) name of the new child
     * @param value the text value of the new element. (can be null!)
     * @return the new child element
     */
    static public Element addElement(Node parent, String name, String value) {
        if (parent == null)
            return null; // Fehler
        // Name must not contain spaces
        if (name.indexOf(' ') >= 0)
            name = name.replace(' ', '_');
        // Create Element
        Element child = parent.getOwnerDocument().createElement(name);
        if (value != null)
            setElementText(child, value);
        parent.appendChild(child);
        return child;
    }

    /**
     * Adds a child element to the parent.
     * 
     * @param parent
     * @param name
     * @return the newly created child element
     */
    static public Element addElement(Element parent, String name) {
        return addElement(parent, name, null);
    }

    /**
     * Sets the text value of an Element. if current text of the element is
     * replaced with the new text if text is null any
     * current text value is deleted.
     * 
     * @param elem the Element for which the text value should be set
     * @param text the new text value of the element
     * @return true if the text could be set or false otherwise
     */
    static public boolean setElementText(Node elem, Object text) {
        if (elem == null)
            return false; // Fehler
        // Find Text
        Node node = elem.getFirstChild();
        while (node != null) { // Find all Text nodes
            if (node.getNodeType() == Node.TEXT_NODE)
                break; // gefunden
            node = node.getNextSibling();
        }
        if (node != null) { // Set or remove text
            if (text != null)
                node.setNodeValue(text.toString());
            else
                elem.removeChild(node);
        } else if (text != null) { // Add Text
            elem.appendChild(elem.getOwnerDocument().createTextNode(text.toString()));
        }
        return true;
    }

    /**
     * Gets the first (direct) child Element.
     * 
     * @param parent the parent element below which to search the child
     * @return the first child element, or null otherwise
     */
    static public Element getFirstChild(Node parent) { // Child Element suchen
        if (parent == null)
            return null;
        Node node = parent.getFirstChild();
        while (node != null) { // Find all Element nodes
            if (node.getNodeType() == Node.ELEMENT_NODE)
                return (Element) node; // found
            node = node.getNextSibling();
        }
        return null; // not found!
    }
}

Related

  1. add(Duration d1, Duration d2)
  2. add(Duration... durations)
  3. addElement(Element parent, String tagName)
  4. addElement(final Element parent, final String name, final Object value)
  5. addElement(Node parent, String elementName)
  6. addElement(Node parent, String name)