in log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/importer/MavenChanges.java [42:65]
static MavenChanges readFromFile(final Path file) {
// Read the root element
final Element documentElement = readXmlFileRootElement(file, "document");
// Read the `body` element
final Element bodyElement = XmlReader.requireChildElementMatchingName(documentElement, "body");
// Read releases
final List<Release> releases = new ArrayList<>();
final NodeList releaseNodes = bodyElement.getChildNodes();
final int releaseNodeCount = releaseNodes.getLength();
for (int releaseNodeIndex = 0; releaseNodeIndex < releaseNodeCount; releaseNodeIndex++) {
final Node releaseNode = releaseNodes.item(releaseNodeIndex);
if ("release".equals(releaseNode.getNodeName()) && Node.ELEMENT_NODE == releaseNode.getNodeType()) {
final Element releaseElement = (Element) releaseNode;
final Release release = Release.fromElement(releaseElement);
releases.add(release);
}
}
// Create the instance
return new MavenChanges(releases);
}