Java 怎么查找XML命名空间前缀

2019年7月21日19:55:07Java 怎么查找XML命名空间前缀已关闭评论 423 664字阅读2分12秒

1.简介

Java 怎么查找XML命名空间前缀?——请看下文。

2.示例代码

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


import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;

public class Main {
    public static String XMLNS = "xmlns";

    public static String lookupNamespacePrefix(Node node, String namespace) {
        NamedNodeMap map = node.getAttributes();
        if (map != null && map.getLength() > 0) {
            for (int i = 0; i < map.getLength(); i++) {
                Node attr = map.item(i);
                String name = attr.getNodeName();
                if (name.startsWith(XMLNS)
                        && namespace.equals(attr.getNodeValue())) {
                    int index = name.indexOf(':');
                    if (index == -1) {
                        return "";
                    }
                    return name.substring(index + 1);
                }
            }
        }

        Node nodeParent = node.getParentNode();
        if (nodeParent != null) {
            return lookupNamespacePrefix(nodeParent, namespace);
        }
        return null;
    }
}

 
编程十万个怎么办