Here you can find the source of findElementWithAttributes(Node node, String tagName, Collection
public static Element findElementWithAttributes(Node node, String tagName, Collection<String> attrs)
//package com.java2s; //License from project: Open Source License import java.util.Collection; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Main { public static Element findElementWithAttributes(Node node, String tagName, Collection<String> attrs) { Element result = null;//from w w w . ja va 2 s. c om NodeList nodeList = node.getChildNodes(); if (nodeList == null) { return result; } for (int i = 0; i < nodeList.getLength(); ++i) { Element element = checkIfElement(nodeList.item(i), tagName); if (element != null) { boolean match = true; for (String attrName : attrs) { if (!element.hasAttribute(attrName)) { match = false; break; } } if (match) { result = element; break; } } } return result; } public static final Element checkIfElement(Node node) { Element result = null; if (isElement(node)) { result = (Element) node; } return result; } public static final Element checkIfElement(Node node, String tag) { Element result = null; if (isElement(node)) { Element tmp = (Element) node; if (tag == null || tmp.getTagName().equals(tag)) { result = tmp; } } return result; } public static boolean isElement(Node node) { return node.getNodeType() == Node.ELEMENT_NODE; } }