Java examples for XML:XML Element Value
Gets the value for the child XML Element with the indicated name.
/*/*w w w .j av a 2s .c o m*/ * Copyright 2006-2015 WebPKI.org (http://webpki.org). * * Licensed 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. * */ //package com.java2s; import org.w3c.dom.Node; import org.w3c.dom.Element; public class Main { /** * Gets the value for the child Element with the indicated name. The child * searched for must exist one level below the parent, i.e. a real * parent-child relation. * * @param parent Parent Element to start search from. * @param name Name to search for in child. * @return The value for the child Element with the indicated name, or null * if the Element could not be found. */ public static String getChildElementValue(Element parent, String name) { Element elem; if ((elem = firstChildElement(parent)) == null) { return null; } /* Check first child. */ if (elem.getNodeName().equals(name)) { return elem.getFirstChild().getNodeValue(); } /* Loop the rest. */ while ((elem = nextSiblingElement(elem)) != null) { if (elem.getNodeName().equals(name)) { return elem.getFirstChild().getNodeValue(); } } return null; } /** * Get the first child {@link org.w3c.dom.Element Element} of an {@link org.w3c.dom.Element Element}. * <p>{@link org.w3c.dom.Node Nodes} other than {@link org.w3c.dom.Element Elements} are ignored. * @param parent Parent * @return The first child {@link org.w3c.dom.Element Element} or null if none exists. */ public static Element firstChildElement(Element parent) { Node n = parent.getFirstChild(); if (n == null || n instanceof Element) { return (Element) n; } else { return nextSiblingElement(n); } } /** * Get the next sibling {@link org.w3c.dom.Element Element} of a {@link org.w3c.dom.Node Node}. * <p>{@link org.w3c.dom.Node Nodes} other than {@link org.w3c.dom.Element Elements} are ignored. * @param n Node * @return The first child {@link org.w3c.dom.Element Element} or null if none exists. */ public static Element nextSiblingElement(Node n) { do { if ((n = n.getNextSibling()) == null) { return null; } } while (!(n instanceof Element)); return (Element) n; } }