É possível analisar texto como XML no GWT?
-
07-07-2019 - |
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?
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.