Java 怎么获取不包含指定XML元素的命名空间声明的属性

2019年7月21日19:44:54Java 怎么获取不包含指定XML元素的命名空间声明的属性已关闭评论 402 698字阅读2分19秒

1.简介

Java 怎么获取不包含指定XML元素的命名空间声明的属性?——请看下文。

2.示例代码

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

 


import java.util.HashMap;

import java.util.Map;

import org.w3c.dom.Attr;

import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;

public class Main {
    private static final String XMLNS_PREFIX = "xmlns";
    private static final String XMLNS_PREFIX_COLON = XMLNS_PREFIX + ':';

    
    public static Map<String, String> getAttributes(Element element) {

        Map<String, String> ret = new HashMap<String, String>();
        NamedNodeMap attrs = element.getAttributes();
        for (int i = 0; i < attrs.getLength(); i++) {

            Attr attr = (Attr) attrs.item(i);
            String attrName = attr.getName();
            if (!attrName.startsWith(XMLNS_PREFIX_COLON)
                    && !attrName.equals(XMLNS_PREFIX)) {
                ret.put(attrName, attr.getValue());
            }
        }
        return ret;
    }
}

 
编程十万个怎么办