import org.dom4j.Element; //导入方法依赖的package包/类
List getMatchingNodes( String snapshot, XmlNode xmlNode ) {
// cycle all nodes that come for this XPath
List matchedNodes = new ArrayList<>();
List foundNodeObjects = xmlNode.getnode().selectNodes(this.xpath);
if (foundNodeObjects != null) {
for (Object foundNodeObject : foundNodeObjects) {
Element node = (Element) foundNodeObject;
String message = null;
String nodeValue = node.getStringValue();
if (matchType == MATCH_TYPE.TEXT && nodeValue.equalsIgnoreCase(value)) {
// equals text
message = "equals ignoring case '" + value + "'";
} else if (matchType == MATCH_TYPE.CONTAINS_TEXT
&& nodeValue.toLowerCase().contains(this.value.toLowerCase())) {
// contains text
message = "contains ignoring case '" + value + "'";
} else if (nodeValue.matches(value)) {
// matches regex
message = "matches the '" + value + "' regular expression";
}
if (message != null) {
if (log.isDebugEnabled()) {
log.debug("[" + snapshot + "] File " + filePath + ": Removing XML node "
+ new XmlNode(xmlNode, node).getSignature("") + " as its value '"
+ nodeValue + "' " + message);
}
matchedNodes.add(node);
}
}
}
return matchedNodes;
}