Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 *                    BioJava development code
 *
 * This code may be freely distributed and modified under the
 * terms of the GNU Lesser General Public Licence.  This should
 * be distributed with the code.  If you do not have a copy,
 * see:
 *
 *      http://www.gnu.org/copyleft/lesser.html
 *
 * Copyright for this code is held jointly by the individual
 * authors.  These should be listed in @author doc comments.
 *
 * For more information on the BioJava project and its aims,
 * or to join the biojava-l mailing list, visit the home page
 * at:
 *
 *      http://www.biojava.org/
 *
 */

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

import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;

public class Main {
    static public Element selectSingleElement(Element element, String xpathExpression)
            throws XPathExpressionException {
        if (xpathExpression.indexOf("/") == -1) {
            NodeList nodeList = element.getChildNodes();
            for (int i = 0; i < nodeList.getLength(); i++) {
                Node node = nodeList.item(i);
                if (node.getNodeType() == Node.ELEMENT_NODE && node.getNodeName().equals(xpathExpression)) {
                    return (Element) node;
                }
            }
            //  NodeList nodes = element.getElementsByTagName(xpathExpression);
            //  if (nodes.getLength() > 0) {
            //      return (Element) nodes.item(0);
            //  } else {
            return null;
            //  }
        } else {
            XPath xpath = XPathFactory.newInstance().newXPath();
            Element node = (Element) xpath.evaluate(xpathExpression, element, XPathConstants.NODE);
            return node;
        }
    }
}