java/alt2xml-bin/src/cz/frantovo/alt2xml/CLI.java
author František Kučera <franta-hg@frantovo.cz>
Thu, 05 Jun 2014 10:07:34 +0200
changeset 7 9107f7df660c
parent 3 java/alt2xml/src/cz/frantovo/alt2xml/CLI.java@6c608fd8c019
child 11 aaf6648af0aa
permissions -rw-r--r--
přejmenování alt2xml → alt2xml-bin
franta-hg@2
     1
package cz.frantovo.alt2xml;
franta-hg@2
     2
franta-hg@3
     3
import cz.frantovo.alt2xml.výstup.EchoContentHandler;
franta-hg@2
     4
import java.io.InputStream;
franta-hg@2
     5
import java.io.OutputStream;
franta-hg@2
     6
import javax.xml.parsers.SAXParser;
franta-hg@2
     7
import javax.xml.parsers.SAXParserFactory;
franta-hg@2
     8
import javax.xml.stream.XMLOutputFactory;
franta-hg@2
     9
import javax.xml.stream.XMLStreamWriter;
franta-hg@2
    10
import org.xml.sax.helpers.DefaultHandler;
franta-hg@2
    11
franta-hg@2
    12
/**
franta-hg@2
    13
 *
franta-hg@2
    14
 * @author fiki
franta-hg@2
    15
 */
franta-hg@2
    16
public class CLI {
franta-hg@2
    17
franta-hg@2
    18
	public static void main(String[] args) throws Exception {
franta-hg@3
    19
		/**
franta-hg@3
    20
		 * Použijeme standardní vstup a výstup:
franta-hg@3
    21
		 */
franta-hg@2
    22
		InputStream vstup = System.in;
franta-hg@2
    23
		OutputStream výstup = System.out;
franta-hg@3
    24
		
franta-hg@3
    25
		/**
franta-hg@3
    26
		 * Serializujeme data do XML.
franta-hg@3
    27
		 * To normálně vůbec není potřeba – data se do tvaru proudu obsahujícího ostré závorky
franta-hg@3
    28
		 * vůbec nedostanou – zpracováváme události (volání javovských metod – začátky a konce elementů atd.)
franta-hg@3
    29
		 * a z nich např. deserializujeme nějaké naše objekty, provádíme nějaké akce, nebo třeba stavíme DOM.
franta-hg@3
    30
		 */
franta-hg@2
    31
		XMLOutputFactory xmlOutputFactory = XMLOutputFactory.newFactory();
franta-hg@2
    32
		XMLStreamWriter w = xmlOutputFactory.createXMLStreamWriter(výstup);
franta-hg@2
    33
		DefaultHandler h = new EchoContentHandler(w);
franta-hg@3
    34
		
franta-hg@3
    35
		/**
franta-hg@3
    36
		 * Parsujeme JSON a děláme z něj XML:
franta-hg@3
    37
		 */
franta-hg@3
    38
		SAXParserFactory t = SAXParserFactory.newInstance(SAXTovarna.class.getName(), null);
franta-hg@3
    39
		SAXParser p = t.newSAXParser();
franta-hg@2
    40
		p.parse(vstup, h);
franta-hg@2
    41
	}
franta-hg@2
    42
}