Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package eg.edu.alexu.csd.oop.XML;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Set;
- import javax.xml.stream.XMLEventFactory;
- import javax.xml.stream.XMLEventWriter;
- import javax.xml.stream.XMLOutputFactory;
- import javax.xml.stream.XMLStreamException;
- import javax.xml.stream.events.Characters;
- import javax.xml.stream.events.EndElement;
- import javax.xml.stream.events.StartDocument;
- import javax.xml.stream.events.StartElement;
- import javax.xml.stream.events.XMLEvent;
- public class StaxXMLWriter {
- public static void main(String[] args) {
- String fileName = "C:\\Users\\hp\\Desktop\\College\\OOPAssignments\\DBMS\\OOP_TAs-oop-course-projects-b15818ce512d\\XML\\T.xml";
- String rootElement = "Table";
- StaxXMLWriter xmlWriter = new StaxXMLWriter();
- Map<String,String> elementsMap = new HashMap<String, String>();
- ArrayList s = new ArrayList();
- for (int i=0;i<8;i++)
- s.add(i);
- StringBuilder sb = new StringBuilder();
- for (int i = 0 ; i < s.size(); i++) {
- int num = (int) s.get(i);
- sb.append(num);
- if (i!=s.size()-1)
- sb.append(",");
- }
- String result = sb.toString();
- elementsMap.put("Row1", result);
- s.clear();
- for (int i=8;i<16;i++)
- s.add(i);
- StringBuilder SB = new StringBuilder();
- for (int i = 0 ; i < s.size(); i++) {
- int num = (int) s.get(i);
- SB.append(num);
- if (i!=s.size()-1)
- SB.append(",");
- }
- result = SB.toString();
- elementsMap.put("Row2", result);
- xmlWriter.writeXML(fileName, rootElement, elementsMap);
- }
- public void writeXML(String fileName, String rootElement, Map<String, String> elementsMap){
- XMLOutputFactory xmlOutputFactory = XMLOutputFactory.newInstance();
- try {
- XMLEventWriter xmlEventWriter = xmlOutputFactory.createXMLEventWriter(new FileOutputStream(fileName), "UTF-8");
- XMLEventFactory eventFactory = XMLEventFactory.newInstance();
- XMLEvent end = eventFactory.createDTD("\n");
- xmlEventWriter.add(end);
- StartElement configStartElement = eventFactory.createStartElement("", "", rootElement);
- xmlEventWriter.add(configStartElement);
- xmlEventWriter.add(end);
- // Write the element nodes
- Set<String> elementNodes = elementsMap.keySet();
- for(String key : elementNodes)
- createNode(xmlEventWriter, key, elementsMap.get(key));
- xmlEventWriter.add(eventFactory.createEndElement("", "", rootElement));
- xmlEventWriter.add(end);
- xmlEventWriter.add(eventFactory.createEndDocument());
- xmlEventWriter.close();
- } catch (FileNotFoundException | XMLStreamException e) {
- e.printStackTrace();
- }
- }
- private static void createNode(XMLEventWriter eventWriter, String element, String value) throws XMLStreamException {
- XMLEventFactory xmlEventFactory = XMLEventFactory.newInstance();
- XMLEvent end = xmlEventFactory.createDTD("\n");
- XMLEvent tab = xmlEventFactory.createDTD("\t");
- //Create Start node
- StartElement sElement = xmlEventFactory.createStartElement("", "", element);
- eventWriter.add(tab);
- eventWriter.add(sElement);
- //Create Content
- Characters characters = xmlEventFactory.createCharacters(value);
- eventWriter.add(characters);
- // Create End node
- EndElement eElement = xmlEventFactory.createEndElement("", "", element);
- eventWriter.add(eElement);
- eventWriter.add(end);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement