Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.io.StringReader;
import java.util.HashMap;
import java.util.Map;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;

public class Main {
    public static void main(String[] args) throws Exception {
        InputSource source = new InputSource(new StringReader("<root>\n" + "<field name='firstname'>\n"
                + "    <value>John</value>\n" + "</field>\n" + "<field name='lastname'>\n"
                + "    <value>Citizen</value>\n" + "</field>\n" + "<field name='DoB'>\n"
                + "    <value>01/01/1980</value>\n" + "</field>\n" + "<field name='Profession'>\n"
                + "    <value>Manager</value>\n" + "</field>\n" + "</root>"));

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder documentBuilder = factory.newDocumentBuilder();
        Document document = documentBuilder.parse(source);

        NodeList allFields = (NodeList) document.getElementsByTagName("field");

        Map<String, String> data = new HashMap<>();
        for (int i = 0; i < allFields.getLength(); i++) {
            Element field = (Element) allFields.item(i);
            String nameAttribute = field.getAttribute("name");
            Element child = (Element) field.getElementsByTagName("value").item(0);
            String value = child.getTextContent();
            data.put(nameAttribute, value);
        }

        for (Map.Entry field : data.entrySet()) {
            System.out.println(field.getKey() + ": " + field.getValue());
        }
    }
}