aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/musichub/util/XMLHandler.java
diff options
context:
space:
mode:
authorClyhtsuriva <61652557+clyhtsuriva@users.noreply.github.com>2021-06-28 21:40:03 +0000
committerGitHub <noreply@github.com>2021-06-28 21:40:03 +0000
commit1504d0255279133668b85f5c092f040a14fbc35f (patch)
tree0c9b9e927aa4d5f35ccc07e45e8abd973b2bad08 /src/main/java/musichub/util/XMLHandler.java
parent48d56d9db8fe93f1e1799674fefabdfc677d2eb7 (diff)
parent49196ae84aea338dbc6cd10f4d135e4b717cdd1f (diff)
Merge pull request #23 from Said-Belhadj/developHEADmaster
Merging develop to master.
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