e537. removing all the attributes in a dom element.txt

来自「这里面包含了一百多个JAVA源文件」· 文本 代码 · 共 21 行

TXT
21
字号
The tricky part of removing all the attributes in an XML element is to realize that attributes with a default value cannot be removed. Therefore, the following code will never terminate if the element has an attribute with a default value: 
    // Very bad code; may never terminate
    NamedNodeMap attrs = element.getAttributes();
    while (attrs.getLength() > 0) {
        attrs.removeNamedItem(attrs.item(0).getNodeName());
    }

This example removes all attributes by first making a copy of the attribute names and then using the list to remove the attributes: 
    // Remove all the attributes of an element
    NamedNodeMap attrs = element.getAttributes();
    String[] names = new String[attrs.getLength()];
    for (int i=0; i<names.length; i++) {
        names[i] = attrs.item(i).getNodeName();
    }
    for (int i=0; i<names.length; i++) {
        attrs.removeNamedItem(names[i]);
    }

 Related Examples 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?