Reputation: 14863
I'm trying to create some XML files on the client and then send them to the server (nothing special, just something like <root><blabla>...</blabla>...</root>
).
Doing this by hand would be possible but extremely inflexible and I see myself making a lot of mistakes. So I was looking for a XML generator in GWT and found the "com.google.gwt.xml.client" Package. Sadly I cant find examples how to create XML documents with it. Can anybody provide me an example (or linke ot an examle)?
Best regards, Stefan
Upvotes: 3
Views: 5516
Reputation: 11
Accepted answer is right, but there is a little mistake on it, node1 and node2 should be linked to root, not to doc.
So this line:
doc.appendChild(node1);
should really be:
root.appendChild(node1);
Upvotes: 1
Reputation: 14863
Well ok, your anser works but some things to append.
First you have to include
<inherits name="com.google.gwt.xml.XML" />
in your *gwt.xml file (http://blog.elitecoderz.net/gwt-and-xml-first-steps-with-comgooglegwtxmlerste-schritte-mit-gwt-und-xml-unter-comgooglegwtxml/2009/05/ )
second you use the following namespaces:
import com.google.gwt.xml.client.Document;
import com.google.gwt.xml.client.Element;
import com.google.gwt.xml.client.XMLParser;
Upvotes: 3
Reputation: 172
Here is an example. To generate the following xml :
<root>
<node1 attribute="test">
my value
</node1>
<node2 attribute="anothertest"/>
</root>
You have to write the following code on the Java client side :
import com.google.gwt.xml.client.Document;
import com.google.gwt.xml.client.Element;
import com.google.gwt.xml.client.XMLParser;
public static void main(String[] args) {
Document doc = XMLParser.createDocument();
Element root = doc.createElement("root");
doc.appendChild(root);
Element node1 = doc.createElement("node1");
node1.setAttribute("attribute","test");
node1.appendChild(doc.createTextNode("my value"));
doc.appendChild(node1);
Element node2 = doc.createElement("node2");
node2.setAttribute("attribute","anothertest");
doc.appendChild(node2);
System.out.println(doc.toString());
}
Upvotes: 7