Как переписать document.getElementsByTagName ();с XPath? - PullRequest
0 голосов
/ 22 января 2019

Не могли бы вы помочь мне переписать следующий фрагмент кода с использованием 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");
            }
        }

1 Ответ

0 голосов
/ 22 января 2019

Чтобы переписать:

document.getElementsByTagName("ruleDefinition");

Interms of XPath вы можете использовать:

document.evaluate('//ruleDefinition', document, null, XPathResult.ANY_TYPE, null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...