@Override public void parse(NodeList childNodes) { if (childNodes != null && childNodes.getLength() > 0) { for (int i = 0; i < childNodes.getLength(); i++) { if (!(childNodes.item(i) instanceof Element)) continue; Element item = (Element) childNodes.item(i); if (item.getNodeName().equals("item")) { NodeList list = item.getChildNodes(); if (list != null && list.getLength() > 0) { String key = null; String value; for (int ii = 0; ii < list.getLength(); ii++) { if (!(list.item(ii) instanceof Element)) continue; Element item2 = (Element) list.item(ii); if (item2.getNodeName().equals("key")) { key = item2.getFirstChild().getNodeValue(); } else if (item2.getNodeName().equals("value")) { if (key == null) continue; NodeList deeper = item2.getChildNodes(); K object = (K) GenericConfigParse.parseObject(deeper); put(key, object); } } } } } } }
@Override public void save(ArrayList<String> lines) { for (String key : keySet()) { K value = get(key); lines.add("<item>"); lines.add("<key>" + key + "</key>"); lines.add("<value>"); GenericConfigParse.saveObject(value, lines); lines.add("</value>"); lines.add("</item>"); } }