我需要帮助分割这些代码行并将它们放入方法中:
url = new URL(URL_SOURCE);
con = url.openConnection();
is = con.getInputStream();
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(is);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("pozycja");
我把它分成:
public URLConnection openConnectionOfGivenURL(String givenURL) throws IOException {
URL url = new URL(givenURL);
return url.openConnection();
}
我不知道我应该怎么处理其余的事情。我应该用getDOM
命名吗?
我认为除了第一行和最后一行之外的所有行都应该是一种方法。不要试图进一步分解代码。例如。 Document getXml(URL url)
或者如果你打算将它与HTTP(S)网址一起使用,可以将其命名为downloadXml
。
不进一步分解的主要原因是你应该使用try-with-resources。
此外,您不需要规范化解析的DOM,因为the parser is already creating a normalized DOM tree。
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");