aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/musichub/util/XMLHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/musichub/util/XMLHandler.java')
-rw-r--r--src/main/java/musichub/util/XMLHandler.java74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/main/java/musichub/util/XMLHandler.java b/src/main/java/musichub/util/XMLHandler.java
new file mode 100644
index 0000000..4b61842
--- /dev/null
+++ b/src/main/java/musichub/util/XMLHandler.java
@@ -0,0 +1,74 @@
+package musichub.util;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import java.io.File;
+import java.io.IOException;
+
+
+public class XMLHandler {
+ TransformerFactory transformerFactory;
+ Transformer transformer;
+ DocumentBuilderFactory documentFactory;
+ DocumentBuilder documentBuilder;
+
+ public XMLHandler() {
+ try {
+ transformerFactory = TransformerFactory.newInstance();
+ transformer = transformerFactory.newTransformer();
+ documentFactory = DocumentBuilderFactory.newInstance();
+ documentBuilder = documentFactory.newDocumentBuilder();
+ } catch (TransformerException | ParserConfigurationException tfe) {
+ tfe.printStackTrace();
+ }
+ }
+
+ public void createXMLFile(Document document, String filePath) {
+ try {
+ // create the xml file
+ //transform the DOM Object to an XML File
+ DOMSource domSource = new DOMSource(document);
+ StreamResult streamResult = new StreamResult(new File(filePath));
+
+ // If you use
+ // StreamResult result = new StreamResult(System.out);
+ // the output will be pushed to the standard output ...
+ // You can use that for debugging
+
+ transformer.transform(domSource, streamResult);
+
+ } catch (TransformerException tfe) {
+ tfe.printStackTrace();
+ }
+ }
+
+ public Document createXMLDocument() {
+ return documentBuilder.newDocument();
+ }
+
+ public NodeList parseXMLFile(String filePath) {
+ NodeList elementNodes = null;
+ try {
+ Document document = documentBuilder.parse(new File(filePath));
+ Element root = document.getDocumentElement();
+
+ elementNodes = root.getChildNodes();
+ } catch (SAXException | IOException e) {
+ e.printStackTrace();
+ }
+ return elementNodes;
+ }
+
+
+} \ No newline at end of file