Blame | Last modification | View Log | RSS feed
/** Created on 24/03/2005*/package DMS;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.DocumentBuilder;import org.w3c.dom.Document;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import java.util.Vector;import java.io.InputStream;/*** @author mtayler*/public class XMLParser {public XMLParser() {super();}public static Document getDocument(String fileName){Document doc = null;try {DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();InputStream is = DMSUtils.getResourceAsStream(fileName);try {doc = docBuilder.parse(is);} finally {is.close();}} catch (Exception e) {e.printStackTrace();}return doc;}public static Node getRootNode(String fileName){Node root = null;try {Document doc = getDocument(fileName);root = doc.getDocumentElement();} catch (Exception e) {e.printStackTrace();}return root;}public static Node findNode(Node root, String nodeName) {if (root!=null) {NodeList list = root.getChildNodes();if (list!=null)for (int i=0;i<list.getLength();i++) {Node item = list.item(i);if (item!=null && item.getNodeName().toUpperCase().equals(nodeName.toUpperCase())) {return item;}}}return null; //return null if no node with the given name is found}public static Vector findNodeList(Node root, String nodeName) {Vector vector = new Vector();if (root!=null) {NodeList list = root.getChildNodes();if (list!=null)for (int i=0;i<list.getLength();i++) {Node item = list.item(i);if (item!=null && item.getNodeName().toUpperCase().equals(nodeName.toUpperCase())) {vector.add(item);}}}return vector;}public static String findNodeValue(Node root, String nodeName) {Node retNode = findNode(root, nodeName);if (retNode!=null) {Node child = retNode.getFirstChild();if (child!=null) return child.getNodeValue();}return "";}public static boolean findNodeValueBool(Node root, String nodeName) {String value = DMSUtils.NVL(findNodeValue(root, nodeName),"false");return value.toLowerCase().trim().equals("true");}}