I am working on an application using Java and XML file to save settings like language..
setting.xml
<?xml version="1.0" encoding="UTF-8"?>
<parametre>
    <param name="Langue" id="1">
        <val>1</val>
    </param>
    <param name="Controle" id="2">
        <val>0</val>
    </param>
</parametre>
this class should read and write from the XML file.
import java.io.File;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
public class DialXMLFile {
    private static boolean _initialized = false;
    private static boolean _init = false;
    private static Document _docx,_docy;
public static void initlang() {
    if(_initialized) {
        return;
    }
    try {
        File fXmlFile = new File("res/files/strings.xml");
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        _docx = dBuilder.parse(fXmlFile);
        _docx.getDocumentElement().normalize();
        _initialized = true;
    } catch (Exception e) {
        e.printStackTrace();
    }
}
public static void initparam() {
    if(_init) {
        return;
    }
    try {
        File fXmlFile = new File("res/files/setting.xml");
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        _docy = dBuilder.parse(fXmlFile);
        _docy.getDocumentElement().normalize();
        _init = true;
    } catch (Exception e) {
        e.printStackTrace();
    }
}
public static String readLbl(String name, int lang) {
    if(!_initialized) {
        initlang();
    }
    String res = "";
    try {
        NodeList nList = _docx.getElementsByTagName("lang");
        Node nNode = nList.item(lang);
        if (nNode.getNodeType() == Node.ELEMENT_NODE) {
            Element eElement = (Element) nNode;
            res=eElement.getElementsByTagName(name).item(0).getTextContent();
        }
    } catch (Exception e) {
        res="$ERROR";
        e.printStackTrace();
    }
    return res;
}
public static int readCtrl() {
    if(!_init) {
        initparam();
    }
    int rs = 0;
    try {
        NodeList nparamList = _docy.getElementsByTagName("param");
        Node nparamNode = nparamList.item(1);
        if (nparamNode.getNodeType() == Node.ELEMENT_NODE) {
            Element eparamElement = (Element) nparamNode;
            rs=Integer.parseInt(eparamElement.getElementsByTagName("val").item(0).getTextContent());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return rs;
}
public static int readLang() {
    if(!_init) {
        initparam();
    }
    int rs = 0;
    try {
        NodeList nparamList = _docy.getElementsByTagName("param");
        Node nparamNode = nparamList.item(0);
        if (nparamNode.getNodeType() == Node.ELEMENT_NODE) {
            Element eparamElement = (Element) nparamNode;
            rs=Integer.parseInt(eparamElement.getElementsByTagName("val").item(0).getTextContent());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return rs;
}
public static void writeLang(String i) {
    initparam();
    try {
        NodeList nparamList = _docy.getElementsByTagName("param");
        Node nparamNode = nparamList.item(0);
        if (nparamNode.getNodeType() == Node.ELEMENT_NODE) {
            Element eparamElement = (Element) nparamNode;
            eparamElement.getElementsByTagName("val").item(0).setTextContent(i);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }   
}
public static void writeCtrl(String i) {
    initparam();
    try {
        NodeList nparamList = _docy.getElementsByTagName("param");
        Node nparamNode = nparamList.item(1);
        if (nparamNode.getNodeType() == Node.ELEMENT_NODE) {
            Element eparamElement = (Element) nparamNode;
            eparamElement.getElementsByTagName("val").item(0).setTextContent(i);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }       
}
}
but it can't write anything..! note that it read correctly and it do not give any error or exception when excute. thanks for any ideas or help.
 
    