是否有可能在GWT中解析像XML这样的文本?
问题描述:
我知道,浏览器都支持XML与DOM方法是否有可能在GWT中解析像XML这样的文本?
我有一个使用GWT应用程序并将其上传文件在服务器上, 上传完成时,我需要的服务器与一个Bean响应返回给客户端由于这是一个文件上传,所以响应由一个servlet处理。
我可以通过读取servlet生成的输出读取客户端的字符串。我打算将我的bean转换成XML结构,并将其转换回客户端的对象。
那么,我的客户是否有可能将此响应视为XML并遍历它?
答
多见于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.");
}
}
答
你也可以解析使用jQuery XML,它容易将保鲜膜与GWT JSNI jquery的电话。在这里展示的详细信息要少得多http://marcgrabanski.com/article/jquery-makes-parsing-xml-easy
编辑:GwtQuery甚至可以做到这一点?不确定,因为它不是一个直接的端口。