Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//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;
    }
}