source: trunk/gsdl3/src/java/org/greenstone/gsdl3/util/XMLConverter.java@ 3222

Last change on this file since 3222 was 3222, checked in by kjdon, 22 years ago

Initial revision

  • Property svn:keywords set to Author Date Id Revision
File size: 2.3 KB
Line 
1package org.greenstone.gsdl3.util;
2
3// XML classes
4import org.w3c.dom.Document;
5import org.w3c.dom.Node;
6import org.xml.sax.InputSource;
7import javax.xml.parsers.*;
8import org.apache.xindice.xml.TextWriter;
9import org.apache.xerces.dom.TextImpl;
10import org.apache.xerces.parsers.DOMParser;
11
12// other java classes
13import java.io.Reader;
14import java.io.StringReader;
15import java.io.File;
16import java.io.FileReader;
17
18/** XMLConverter - utitlity class for greenstone
19 *
20 * parses XML Strings into Documents, converts Nodes to Strings
21 * different parsers have different behaviour - can experiment in here
22 *
23 */
24public class XMLConverter {
25
26 /** JAXP parser factory */
27 protected DocumentBuilderFactory doc_build_fact_=null;
28 /** JAXP parser */
29 protected DocumentBuilder doc_builder_=null;
30
31 /** xerces parser */
32 protected DOMParser parser_ = null;
33
34 public XMLConverter() {
35 try {
36 doc_build_fact_ = DocumentBuilderFactory.newInstance();
37
38 doc_builder_ = doc_build_fact_.newDocumentBuilder();
39 parser_ = new DOMParser();
40 } catch (Exception e) {
41 System.out.println("XMLConverter:exception "+e.getMessage());
42 }
43 }
44
45 /** returns a DOM Document */
46 public Document getDOM(String in) {
47
48 try {
49 Reader reader = new StringReader(in);
50 InputSource xml_source = new InputSource(reader);
51
52 // Document doc = doc_builder_.parse(xml_source);
53 parser_.parse(xml_source);
54 Document doc = parser_.getDocument();
55 return doc;
56
57 } catch (Exception e) {
58 System.out.println("XMLConverter.getDOM(String): exception "+e.getMessage());
59 }
60 return null;
61 }
62
63 public Document getDOM(File in) {
64 try {
65
66 Reader reader = new FileReader(in);
67 InputSource xml_source = new InputSource(reader);
68
69 //Document doc = doc_builder_.parse(xml_source);
70 parser_.parse(xml_source);
71 Document doc = parser_.getDocument();
72
73 return doc;
74
75 } catch (Exception e) {
76 System.out.println("XMLConverter.getDOM(File): exception "+e.getMessage());
77 }
78 return null;
79 }
80
81 /** creates a new empty DOM Document */
82 public Document newDOM() {
83 Document doc = doc_builder_.newDocument();
84 return doc;
85 }
86
87 /** returns the Node as a String */
88 public String getString(Node doc) {
89 TextWriter t = new TextWriter(doc);
90 return t.toString();
91 }
92}
Note: See TracBrowser for help on using the repository browser.