Я думаю, что все, кроме первой и последней строки должны быть в методе. Не пытайтесь поделить этот код дальше, чем это. Например. Document getXml(URL url)
или, возможно, назовите его downloadXml
, если вы собираетесь использовать его только с URL-адресами HTTP (S).
Основная причина того, чтобы не делить его дальше, состоит в том, что вы должны использовать try-with-resources.
Кроме того, вам не нужно нормализовать анализируемый DOM, поскольку синтаксический анализатор уже создает нормализованное дерево DOM .
Document getXml(URL url) {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
URLConnection con = url.openConnection();
try (InputStream is = con.getInputStream()) {
return dBuilder.parse(is);
}
}
Тогда вы используете это так:
URL url = new URL(URL_SOURCE);
Document doc = getXml(url);
NodeList nList = doc.getElementsByTagName("pozycja");