Advertisement
Zekrommaster110

[JAVA] Simple XMLParser

Jan 27th, 2017
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.72 KB | None | 0 0
  1. package core;
  2.  
  3. import org.w3c.dom.*;
  4. import org.xml.sax.SAXException;
  5.  
  6. import javax.xml.parsers.DocumentBuilder;
  7. import javax.xml.parsers.DocumentBuilderFactory;
  8. import javax.xml.parsers.ParserConfigurationException;
  9. import javax.xml.transform.Transformer;
  10. import javax.xml.transform.TransformerException;
  11. import javax.xml.transform.TransformerFactory;
  12. import javax.xml.transform.dom.DOMSource;
  13. import javax.xml.transform.stream.StreamResult;
  14. import java.io.File;
  15. import java.io.IOException;
  16. import java.util.HashMap;
  17.  
  18. public class xmlParser {
  19.  
  20.     public static DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
  21.     public static DocumentBuilder docBuilder; static {
  22.         try {
  23.             docBuilder = docFactory.newDocumentBuilder();
  24.         } catch (ParserConfigurationException e) {
  25.             e.printStackTrace();
  26.         }
  27.     }
  28.  
  29.     public static void createXML(String path) throws TransformerException {
  30.  
  31.         Document doc = docBuilder.newDocument();
  32.  
  33.         Element rootElement = doc.createElement("settings");
  34.         doc.appendChild(rootElement);
  35.  
  36.         Element prefix = doc.createElement("prefix");
  37.         prefix.appendChild(doc.createTextNode("prefix"));
  38.         rootElement.appendChild(prefix);
  39.  
  40.         prefix.setTextContent("~");
  41.  
  42.  
  43.         TransformerFactory transFac = TransformerFactory.newInstance();
  44.         Transformer trans = transFac.newTransformer();
  45.         DOMSource source = new DOMSource(doc);
  46.         StreamResult result = new StreamResult(new File(path));
  47.         trans.transform(source, result);
  48.  
  49.     }
  50.  
  51.     public static void editValue(String path, String value) throws TransformerException, IOException, SAXException {
  52.  
  53.         Document doc = docBuilder.parse(new File(path));
  54.  
  55.         doc.getElementsByTagName("settings").item(0).setTextContent(value);
  56.  
  57.         TransformerFactory transformerFactory = TransformerFactory.newInstance();
  58.         Transformer transformer = transformerFactory.newTransformer();
  59.         DOMSource source = new DOMSource(doc);
  60.         StreamResult result = new StreamResult(new File(path));
  61.         transformer.transform(source, result);
  62.     }
  63.  
  64.     public static HashMap<String, String> readXML(String path) throws IOException, SAXException {
  65.  
  66.         File xmlFile = new File(path);
  67.         Document doc = docBuilder.parse(xmlFile);
  68.  
  69.         doc.getDocumentElement().normalize();
  70.  
  71.         NodeList nList = doc.getElementsByTagName("prefix");
  72.  
  73.         HashMap<String, String> result = new HashMap<>();
  74.  
  75.         for (int i = 0; i < nList.getLength(); i++) {
  76.  
  77.             Node node = nList.item(i);
  78.             result.put(node.getNodeName(), node.getTextContent());
  79.  
  80.         }
  81.  
  82.  
  83.         return result;
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement