Java 怎么尝试使用提供的标记名从列表中列出类型元素的所有节点

2019年8月3日23:46:09Java 怎么尝试使用提供的标记名从列表中列出类型元素的所有节点已关闭评论 312 798字阅读2分39秒

1.简介

Java 怎么尝试使用提供的标记名从列表中列出类型元素的所有节点?——请看下文。

2.示例代码

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


import java.util.ArrayList;

import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class Main {
    
    public static Node[] findNodesOf(NodeList list, String tagName,
            boolean caseSensitive) {
        ArrayList<Node> result = new ArrayList<Node>();
        for (int i = 0; i < list.getLength(); i++) {
            Node node = list.item(i);
            if (isNodeOfType(node, tagName, caseSensitive))
                result.add(node);
        }
        return result.toArray(new Node[0]);
    }

    
    public static boolean isNodeOfType(Node node, String tagName,
            boolean caseSensitive) {
        if (!(node instanceof Element))
            return false;
        Element nodeAsElement = (Element) node;
        if (caseSensitive && nodeAsElement.getTagName().equals(tagName))
            return true;
        if (!caseSensitive
                && nodeAsElement.getTagName().equalsIgnoreCase(tagName))
            return true;
        return false;
    }
}