Можно ли анализировать текст как XML в GWT? - PullRequest
0 голосов
/ 16 сентября 2009

Я знаю, что браузеры поддерживают XML с подходом DOM

У меня есть приложение, которое использует GWT, и оно загружает файл на сервер, когда загрузка завершится, мне нужно, чтобы сервер ответил клиенту с Bean-компонентом, поскольку это загрузка файла, ответ обрабатывается сервлетом.

Я могу прочитать строку на клиенте, прочитав вывод, созданный сервлетом. Я планирую преобразовать мой bean-компонент в XML-подобную структуру, которая будет преобразована обратно в объект на клиенте.

Итак, может ли мой клиент обработать этот ответ как XML и выполнить итерацию по нему?

Ответы [ 2 ]

3 голосов
/ 16 сентября 2009

подробнее на 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 голосов
/ 16 сентября 2009

Вы также можете анализировать XML с помощью jquery, и его легко обернуть вызовом jquery с помощью jsni в GWT. гораздо менее многословно, как показано здесь http://marcgrabanski.com/article/jquery-makes-parsing-xml-easy

edit: GwtQuery может даже сделать это? не уверен, так как это не прямой порт.

...