public class ConfigHandler extends DefaultHandler {
private Stack<String> elementStack = new Stack<>();
private Map<String, String> configMap = new HashMap<>();
@Override
public void startElement(String uri, String localName,
String qName, Attributes attributes) {
elementStack.push(qName);
}
@Override
public void characters(char[] ch, int start, int length) {
String content = new String(ch, start, length).trim();
if (!content.isEmpty()) {
String currentPath = String.join(".", elementStack);
configMap.put(currentPath, content);
}
}
@Override
public void endElement(String uri, String localName, String qName) {
elementStack.pop();
}
}