Java XML Node Previous getPrevious(Node node)

Here you can find the source of getPrevious(Node node)

Description

Get the previous node in a DFS preorder traversal

License

Open Source License

Parameter

Parameter Description
node the current node

Return

the previous node in the preorder traversal

Declaration

public static Node getPrevious(Node node) 

Method Source Code


//package com.java2s;
/*/*w  w w .  java2  s . c  o  m*/
 * Copyright (c) 1998-2010 Caucho Technology -- all rights reserved
 * Copyright (c) 2011-2012 Clever Cloud SAS -- all rights reserved
 *
 * This file is part of Bianca(R) Open Source
 *
 * Each copy or derived work must preserve the copyright notice and this
 * notice unmodified.
 *
 * Bianca Open Source is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * Bianca Open Source is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
 * of NON-INFRINGEMENT.  See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Bianca Open Source; if not, write to the
 *   Free SoftwareFoundation, Inc.
 *   59 Temple Place, Suite 330
 *   Boston, MA 02111-1307  USA
 *
 * @author Scott Ferguson
 */

import org.w3c.dom.*;

public class Main {
    /**
     * Get the previous node in a DFS preorder traversal
     *
     * @param node the current node
     * @return the previous node in the preorder traversal
     */
    public static Node getPrevious(Node node) {
        Node previous;

        if (node == null)
            return null;

        if ((previous = node.getPreviousSibling()) != null) {
            for (; previous.getLastChild() != null; previous = previous.getLastChild()) {
            }

            return previous;
        }

        return node.getParentNode();
    }
}

Related

  1. getAncesters(Node node)
  2. getAncestor(Node node, String ancestorName)
  3. getAncestorNode(Node visualNode, String tagName)
  4. getAncestors(Node node)
  5. getPrevious(final Node current, final boolean sameName)
  6. getPreviousComment(Node element)
  7. getPreviousComment(Node element)
  8. getPreviousElementNode(Node node)
  9. getPreviousNodeByName(Node currentNode, String tagName)