Java tutorial
//package com.java2s; /* * Copyright (C) 2012 The Android Open Source Project * Copyright (C) 2009-2013 University of Washington * * 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. */ import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Main { public static String getXMLText(Node n, boolean trim) { NodeList nl = n.getChildNodes(); return (nl.getLength() == 0 ? null : getXMLText(nl, 0, trim)); } /** * reads all subsequent text nodes and returns the combined string needed * because escape sequences are parsed into consecutive text nodes e.g. * "abc&123" --> (abc)(&)(123) **/ private static String getXMLText(NodeList nl, int i, boolean trim) { StringBuffer strBuff = null; String text = nl.item(i).getTextContent(); if (text == null) return null; for (i++; i < nl.getLength() && nl.item(i).getNodeType() == Node.TEXT_NODE; i++) { if (strBuff == null) strBuff = new StringBuffer(text); strBuff.append(nl.item(i).getTextContent()); } if (strBuff != null) text = strBuff.toString(); if (trim) text = text.trim(); return text; } }