Pergunta

Eu sei que os navegadores suportam o XML com a abordagem DOM

Eu tenho um aplicativo que usa o GWT e ele carrega o arquivo no servidor, quando o upload é concluído, preciso que o servidor responda de volta ao cliente com um feijão, pois este é um upload de arquivo, a resposta é tratada por um servlet.

Sou capaz de ler uma string no cliente lendo a saída produzida pelo servlet. Eu pretendo converter meu feijão em uma estrutura XML que seria convertida novamente em um objeto no cliente.

Então, é possível para o meu cliente tratar essa resposta como XML e iterar através dele?

Foi útil?

Solução

Veja mais em 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.");
  }
}

Outras dicas

Você também pode analisar o XML usando o JQuery e é fácil embrulhar a chamada jQuery com o JSNI no GWT. muito menos detalhado, conforme demonstrado aqui http://marcgrabanski.com/article/jquery-makes-parsing-xml-easy

EDIT: GWTQUERY pode até fazer isso? Não tenho certeza, pois não é uma porta reta.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top