Mega Code Archive

 
Categories / Java Tutorial / XML
 

Returns the concatenated child text of the specified node

import org.w3c.dom.Element; import org.w3c.dom.Node; /*  * Licensed to the Apache Software Foundation (ASF) under one or more  * contributor license agreements.  See the NOTICE file distributed with  * this work for additional information regarding copyright ownership.  * The ASF licenses this file to You 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.  */ public class Main {      /**    * Returns the concatenated child text of the specified node.    * This method only looks at the immediate children of type    * <code>Node.TEXT_NODE</code> or the children of any child    * node that is of type <code>Node.CDATA_SECTION_NODE</code>    * for the concatenation.    *    * @param node The node to look at.    */   public static String getChildText(Node node) {              // is there anything to do?       if (node == null) {           return null;       }              // concatenate children text       StringBuffer str = new StringBuffer();       Node child = node.getFirstChild();       while (child != null) {           short type = child.getNodeType();           if (type == Node.TEXT_NODE) {               str.append(child.getNodeValue());           }           else if (type == Node.CDATA_SECTION_NODE) {               str.append(getChildText(child));           }           child = child.getNextSibling();       }              // return text value       return str.toString();          } // getChildText(Node):String }