2009-09-16 9 views
0

Je sais que les navigateurs ne supportent XML avec l'approche DOMest-il possible d'analyser du texte comme XML dans GWT?

J'ai une application qui utilise GWT et télécharge le fichier sur le serveur, lorsque le téléchargement est terminé, j'ai besoin du serveur pour répondre au client avec un Bean Comme il s'agit d'un téléchargement de fichier, la réponse est gérée par une servlet.

Je suis capable de lire une chaîne sur le client en lisant la sortie produite par le servlet. Je prévois de convertir mon bean en une structure semblable à XML qui serait reconvertie en objet sur le client.

Alors, est-ce que mon client peut traiter cette réponse comme XML et la parcourir?

Répondre

3

voir plus à http://gwt.components.googlepages.com/simplexmlparser

private void parseMessage(String messageXml) { 
    try { 
    // parse the XML document into a DOM 
    Document messageDom = XMLParser.parse(messageXml); 

    // find the sender's display name in an attribute of the <from> tag 
    Node fromNode = messageDom.getElementsByTagName("from").item(0); 
    String from = ((Element)fromNode).getAttribute("displayName"); 
    fromLabel.setText(from); 

    // get the subject using Node's getNodeValue() function 
    String subject = messageDom.getElementsByTagName("subject").item(0).getFirstChild().getNodeValue(); 
    subjectLabel.setText(subject); 

    // get the message body by explicitly casting to a Text node 
    Text bodyNode = (Text)messageDom.getElementsByTagName("body").item(0).getFirstChild(); 
    String body = bodyNode.getData(); 
    bodyLabel.setText(body);  

    } catch (DOMException e) { 
    Window.alert("Could not parse XML document."); 
    } 
} 
0

vous pouvez également analyser XML en utilisant jquery, et il est facile à enrouler l'appel jquery avec JSNI à GWT. beaucoup moins verbeux comme démontré ici

edit: GwtQuery pourrait même le faire? pas sûr, puisque ce n'est pas un port droit.