Java 怎么查找并返回下一个同级XML元素节点

2019年8月7日21:10:02Java 怎么查找并返回下一个同级XML元素节点已关闭评论 540 1455字阅读4分51秒

1.简介

Java 怎么查找并返回下一个同级XML元素节点?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */



import org.w3c.dom.Element;

import org.w3c.dom.Node;

public class Main {
    
    public static Element getNextSiblingElement(Node node) {

        
        Node sibling = node.getNextSibling();
        while (sibling != null) {
            if (sibling.getNodeType() == Node.ELEMENT_NODE) {
                return (Element) sibling;
            }
            sibling = sibling.getNextSibling();
        }

        
        return null;

    }

    
    public static Element getNextSiblingElement(Node node, String elemName) {

        
        Node sibling = node.getNextSibling();
        while (sibling != null) {
            if (sibling.getNodeType() == Node.ELEMENT_NODE
                    && sibling.getLocalName().equals(elemName)) {
                return (Element) sibling;
            }
            sibling = sibling.getNextSibling();
        }

        
        return null;

    }

    
    public static Element getNextSiblingElement(Node node,
            String elemNames[]) {

        
        Node sibling = node.getNextSibling();
        while (sibling != null) {
            if (sibling.getNodeType() == Node.ELEMENT_NODE) {
                for (String elemName : elemNames) {
                    if (sibling.getLocalName().equals(elemName)) {
                        return (Element) sibling;
                    }
                }
            }
            sibling = sibling.getNextSibling();
        }

        
        return null;

    }

    
    public static Element getNextSiblingElement(Node node, String elemName,
            String attrName, String attrValue) {

        
        Node sibling = node.getNextSibling();
        while (sibling != null) {
            if (sibling.getNodeType() == Node.ELEMENT_NODE) {
                Element element = (Element) sibling;
                if (element.getLocalName().equals(elemName)
                        && element.getAttribute(attrName).equals(attrValue)) {
                    return element;
                }
            }
            sibling = sibling.getNextSibling();
        }

        
        return null;

    }

    
    public static String getLocalName(Node node) {
        String name = node.getLocalName();
        return name != null ? name : node.getLocalName();
    }
}

 
继续阅读
编程十万个怎么办