package dom4wspart3;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.*;
public class DataWrapper {
List vector = new ArrayList();
public static void main(String argv[]) {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.newDocument();
Element envElement = doc.createElementNS("http://www.w3.org/2001/12/soap-envelope","Envelope");
doc.appendChild(envElement);
Element bodyElement = doc.createElementNS("http://www.w3.org/2001/12/soap-envelope","Body");
envElement.appendChild(bodyElement);
DataWrapper dataWrapper = new DataWrapper();
dataWrapper.add("name", "http://www.myTourOperator", "value");
dataWrapper.add("name1", "http://www.myTourOperator", "value1");
dataWrapper.appendAsChildren(bodyElement);
dataWrapper.printDocument("The XML document after appending children", doc);
}//try
catch (Exception e) {
e.printStackTrace(System.err);
}//catch
}//main
public DataWrapper() {
}//DataWrapper
public int add(String name, String namespace, String value) {
vector.add(new data(name, namespace, value));
return vector.size();
}//add
public void appendAsChildren(Element parentElement) {
Document ownerDoc = parentElement.getOwnerDocument();
int size = vector.size();
for (int i=0;i<size;i++) {
data elementData = (data)vector.get(i);
Element newChild = ownerDoc.createElementNS(elementData.namespace, elementData.name);
parentElement.appendChild(newChild);
newChild.appendChild(ownerDoc.createTextNode(elementData.value));
}//for
}//appendAsChildren
public void printDocument(String title, Document doc) {
System.out.println("");
System.out.println("");
System.out.println("*********************");
System.out.println(title+":");
try {
OutputFormat outputFormat = new OutputFormat(doc);
outputFormat.setPreserveSpace(true);
XMLSerializer serializer = new XMLSerializer(System.out, outputFormat);
serializer.serialize(doc);
System.out.println("");
}//try
catch (Exception e) {
e.printStackTrace(System.err);
}//catch
System.out.println("*********************");
System.out.println("");
System.out.println("");
}//printDocument
}//DataWrapper
class data {
String name;
String namespace;
String value;
data(String _name, String _namespace, String _value){
name = _name;
namespace = _namespace;
value = _value;
}//data
}//data