Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import javax.xml.parsers.DocumentBuilder;
- import javax.xml.parsers.DocumentBuilderFactory;
- import javax.xml.parsers.ParserConfigurationException;
- import javax.xml.transform.OutputKeys;
- import javax.xml.transform.Transformer;
- import javax.xml.transform.TransformerConfigurationException;
- import javax.xml.transform.TransformerException;
- import javax.xml.transform.TransformerFactory;
- import javax.xml.transform.TransformerFactoryConfigurationError;
- import javax.xml.transform.dom.DOMSource;
- import javax.xml.transform.stream.StreamResult;
- import org.w3c.dom.DOMException;
- import org.w3c.dom.Document;
- import org.w3c.dom.Element;
- import org.w3c.dom.Node;
- import org.w3c.dom.NodeList;
- import org.xml.sax.SAXException;
- public class XMLDocument {
- Document doc;
- //add seasonslashcurrentsong to Node sn
- public void appendelement(String seasonslashcurrentsong, Node sn) {
- Element ele = this.doc.createElement("soundFile");
- ele.setAttribute("fileName", seasonslashcurrentsong);
- sn.appendChild(ele);
- System.out.println("File: " + seasonslashcurrentsong + " was added.");
- }
- public NodeList getElementsByTagName(String tagname) {
- return this.doc.getElementsByTagName(tagname);
- }
- // Set the correct xml Header and release the finished xml Document at path
- public void releasexml(File path) {
- try {
- // these are necessary to make sure the xml.header stays the same
- TransformerFactory tFactory = TransformerFactory.newInstance();
- Transformer transformer = tFactory.newTransformer();
- transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, "yes");
- transformer.setOutputProperty(OutputKeys.ENCODING, this.doc.getXmlEncoding());
- transformer.setOutputProperty(OutputKeys.VERSION, this.doc.getXmlVersion());
- transformer.setOutputProperty(OutputKeys.INDENT, "yes");
- DOMSource source = new DOMSource(this.doc);
- StreamResult result = new StreamResult(new FileOutputStream(path)); // voila
- transformer.transform(source, result);
- } catch (TransformerConfigurationException e) {
- e.printStackTrace();
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (TransformerFactoryConfigurationError e) {
- e.printStackTrace();
- } catch (TransformerException e) {
- e.printStackTrace();
- }
- }
- // Constructor from path
- XMLDocument(File path) {
- try {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = factory.newDocumentBuilder();
- this.doc = builder.parse(path);
- this.doc.setXmlStandalone(true);
- } catch (DOMException e) {
- e.printStackTrace();
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
- } catch (SAXException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
Add Comment
Please, Sign In to add comment