Java 怎么查找并返回具有给定限定名的下一个同级XML节点

2019年8月7日21:10:00Java 怎么查找并返回具有给定限定名的下一个同级XML节点已关闭评论 329 1113字阅读3分42秒

1.简介

Java 怎么查找并返回具有给定限定名的下一个同级XML节点?——请看下文。

2.示例代码

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



import org.w3c.dom.Element;

import org.w3c.dom.Node;

public class Main {
    
    public static Element getNextSiblingElementNS(Node node, String uri,
            String localpart) {

        
        Node sibling = node.getNextSibling();
        while (sibling != null) {
            if (sibling.getNodeType() == Node.ELEMENT_NODE) {
                String siblingURI = sibling.getNamespaceURI();
                if (siblingURI != null && siblingURI.equals(uri)
                        && sibling.getLocalName().equals(localpart)) {
                    return (Element) sibling;
                }
            }
            sibling = sibling.getNextSibling();
        }

        
        return null;

    }

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

        
        Node sibling = node.getNextSibling();
        while (sibling != null) {
            if (sibling.getNodeType() == Node.ELEMENT_NODE) {
                for (String[] elemName : elemNames) {
                    String uri = sibling.getNamespaceURI();
                    if (uri != null && uri.equals(elemName[0])
                            && sibling.getLocalName().equals(elemName[1])) {
                        return (Element) sibling;
                    }
                }
            }
            sibling = sibling.getNextSibling();
        }

        
        return null;

    }

    public static String getNamespaceURI(Node node) {
        return node.getNamespaceURI();
    }

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

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