Не могли бы вы помочь мне переписать следующий фрагмент кода с использованием XPath?
final Document document = XMLUtil.buildDocFromString(xmlString); final NodeList ruleNodeList = document.getElementsByTagName("ruleDefinition"); for (int i = 0; i < ruleNodeList.getLength(); i++) { Node currentElement = ruleNodeList.item(i); currentElement.getAttributes().getNamedItem("updatedBy").setNodeValue(user); } final NodeList nodeList = document.getElementsByTagName("configuration"); for (int i = 0; i < nodeList.getLength(); i++) { final Node currentElement = nodeList.item(i); if (currentElement.getAttributes().getNamedItem("type").getChildNodes().item(0).getNodeValue().equals("flag")) { currentElement.getChildNodes().item(0).setNodeValue(byPassManualReviewFlag ? "Y" : "N"); } }
Чтобы переписать:
document.getElementsByTagName("ruleDefinition");
Interms of XPath вы можете использовать:
document.evaluate('//ruleDefinition', document, null, XPathResult.ANY_TYPE, null);