DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
doc.getDocumentElement().normalize();
NodeList nodeLst = doc.getElementsByTagName("employee");
for (int s = 0; s < nodeLst.getLength(); s++)
{
stkey=getXMLData(s,nodeLst,"id");
keylist.add(stkey);// adding integer keys to a Linked List
data.put(stkey, stkey);
data.put(stkey+"first",getXMLData(s,nodeLst,"firstname"));
data.put(stkey+"last",getXMLData(s,nodeLst,"lastname"));
data.put(stkey+"loc",getXMLData(s,nodeLst,"location"));
data.put(stkey+"occ",getXMLData(s,nodeLst,"occupation"));
}
это позволит получить значения тегов в хэш-карте и имена тегов в связанном списке. чтобы упростить вашу работу, вы можете добавить тип тега к ключу hashmap. Например: если мой ключ - это идентификатор сотрудника (в моем случае), я добавляю «сначала» к нему. Допустим, у кого-то есть идентификатор: 10001. Его данные будут храниться как: 10001, затем 10001first, 10001last, 10001loc, 10001occ. Теперь вы можете вызывать каждый ключ hashmap, получать элемент по имени добавленного тега и объединять его с вашим XML-файлом.
Надеюсь, это поможет.