Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import org.w3c.dom.Node;

/**
 *  
 *
 * @author Costin Manolache
 */
public class Main {
    /** Find the first direct child with a given attribute.
     * @param parent
     * @param elemName name of the element, or null for any 
     * @param attName attribute we're looking for
     * @param attVal attribute value or null if we just want any
     */
    public static Node findChildWithAtt(Node parent, String elemName, String attName, String attVal) {

        Node child = DomUtil.getChild(parent, Node.ELEMENT_NODE);
        if (attVal == null) {
            while (child != null && (elemName == null || elemName.equals(child.getNodeName()))
                    && DomUtil.getAttribute(child, attName) != null) {
                child = getNext(child, elemName, Node.ELEMENT_NODE);
            }
        } else {
            while (child != null && (elemName == null || elemName.equals(child.getNodeName()))
                    && !attVal.equals(DomUtil.getAttribute(child, attName))) {
                child = getNext(child, elemName, Node.ELEMENT_NODE);
            }
        }
        return child;
    }

    /** 
     */
    public static Node getNext(Node current, String name, int type) {
        Node first = current.getNextSibling();
        if (first == null)
            return null;

        for (Node node = first; node != null; node = node.getNextSibling()) {

            if (type >= 0 && node.getNodeType() != type)
                continue;
            //System.out.println("getNode: " + name + " " + node.getNodeName());
            if (name == null)
                return node;
            if (name.equals(node.getNodeName())) {
                return node;
            }
        }
        return null;
    }

}