Java XML Node Path addElementPath(Node element, String path)

Here you can find the source of addElementPath(Node element, String path)

Description

add Element Path

License

Open Source License

Declaration

public static Element addElementPath(Node element, String path) 

Method Source Code

//package com.java2s;
/*//from w w  w.j a va2  s  . c  o m
 * Copyright (C) 2009 Bradley Austin Davis.
 * 
 * This file is part of serket.
 * 
 * serket is free software: you can redistribute it and/or modify it under the
 * terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 * 
 * serket is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * serket. If not, see <http://www.gnu.org/licenses/>.
 */

import org.w3c.dom.Element;

import org.w3c.dom.Node;

public class Main {
    public static Element addElementPath(Node element, String path) {
        return addElementPath(element, path.split("/"));
    }

    public static Element addElementPath(Node element, String[] path) {
        Element mRetVal = null;
        for (String s : path) {
            mRetVal = addChildElement(mRetVal == null ? element : mRetVal,
                    s);
        }
        return mRetVal;
    }

    public static Element addChildElement(Node element, String name) {
        return addChildElement(element, name, null, (String[][]) null);
    }

    public static Element addChildElement(Node element, String name,
            String value) {
        return addChildElement(element, name, value, (String[][]) null);
    }

    public static Element addChildElement(Node element, String name,
            String[][] attributes) {
        return addChildElement(element, name, null, attributes);
    }

    public static Element addChildElement(Node element, String name,
            String value, String[][] attributes) {
        Element child = createElement(element, name);
        if (value != null) {
            child.setTextContent(value);
        }
        if (attributes != null) {
            addAttributes(child, attributes);
        }
        element.appendChild(child);
        return child;
    }

    public static Element createElement(Node element, String name) {
        return element.getOwnerDocument().createElement(name);
    }

    public static Element addAttributes(Element element,
            String[][] attributes) {
        for (String[] attr : attributes) {
            element.setAttribute(attr[0], attr[1]);
        }
        return element;
    }
}

Related

  1. createAndAppendNode(Node root, String path)
  2. extractNodes(Node node, String path)
  3. extractPath(Node node, String[] path)
  4. extractPaths(Node node, String[] path)