48 lines
1.7 KiB
Java
48 lines
1.7 KiB
Java
package hycom.service;
|
|
|
|
import com.sun.org.apache.xml.internal.serialize.OutputFormat;
|
|
|
|
import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
|
|
import java.io.IOException;
|
|
import java.io.StringReader;
|
|
import java.io.StringWriter;
|
|
import javax.xml.parsers.DocumentBuilder;
|
|
import javax.xml.parsers.DocumentBuilderFactory;
|
|
import javax.xml.parsers.ParserConfigurationException;
|
|
import org.springframework.stereotype.Service;
|
|
import org.w3c.dom.Document;
|
|
import org.xml.sax.InputSource;
|
|
import org.xml.sax.SAXException;
|
|
|
|
/**
|
|
* Serwis do parsowania formularza (String -> XML)
|
|
*/
|
|
|
|
@Service
|
|
public class XMLSerialize {
|
|
|
|
/**
|
|
* Konwerter XML
|
|
* @param stringXML Formularz aplikacji
|
|
* @return dokument XML
|
|
* @throws ParserConfigurationException Wyjątek wyrzucany, w przypadku próby parsowania nie odpowiedniego pliku.
|
|
* @throws IOException Wyjątek wyrzucany, w przypadku odczytywania z zamkniętego strumienia danych.
|
|
* @throws SAXException Wyjątek wyrzucany, w przypadku nieudanego budowania pliku dokumentu.
|
|
*/
|
|
|
|
public static Document parseStringToXML(String stringXML) throws ParserConfigurationException, IOException, SAXException {
|
|
Document document;
|
|
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
|
|
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
|
|
InputSource inputSource = new InputSource(new StringReader(stringXML));
|
|
document = documentBuilder.parse(inputSource);
|
|
StringWriter out = new StringWriter();
|
|
OutputFormat format = new OutputFormat(document);
|
|
format.setIndenting(true);
|
|
XMLSerializer serializer = new XMLSerializer(out, format);
|
|
serializer.serialize(document);
|
|
|
|
return document;
|
|
}
|
|
}
|