Awesome, thanks everyone for the ideas. Rob
On Thu, Jul 8, 2010 at 5:22 PM, Thomas Broyer <[email protected]> wrote: > > > On 8 juil, 18:53, Robert Hanson <[email protected]> wrote: > > Based on the docs for FormPanel the server has to reply with the > > content-type of text/html, otherwise there may be issues with some > > browsers. But if you do that, and send XML content it seems it has > browser > > issues. > > > > For example, in FF/DevMode the SubmitCompleteEventHandler returns null > for > > the result. In Chrome is returns the XML content, but it is malformed. > > Some elements like <link /> were in the results as <link>, causing XML > > parsing issues. > > > > One solution I found was to return the XML as an HTML comment, prefixed > by > > some fake content. > > > > For example, instead of this: > > <?xml version='1.0' encoding='UTF-8'?><feed>...</feed> > > > > I returned this: > > content<!--<?xml version='1.0' encoding='UTF-8'?><feed>...</feed>--> > > > > I can then remove the prefix "content<!--" and postfix "-->" text, and > parse > > what remains as XML. > > > > Other than the fact that I don't handle the possibility of comments > within > > the XML content, is there any other potential issues? Or maybe there is > a > > better way? > > > > The only requirement for what I am working on is that it must use a > > FormPanel submission, and parse the XML returned from the server. > > I would HTML-escape the XML (<feed>...</feed>, you don't > actually want the <?xml?> decl) on the server-side, and use a > setInnerHTML/getInnerText on an element to unescape it on the client- > side. > > public void onSubmitComplete(SubmitCompleteEvent event) { > String escapedXML = event.getResult(); > DivElement div = Document.get().createDivElement(); > div.setInnerHTML(escapedXML); > String xml = div.getInnerText(); > // now you can use XMLParser > } > > The other option of course is to send enough information so you can > get the XML from another request (RequestBuilder or GWT-RPC). > > -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
