質問

ブラウザがDOMアプローチでXMLをサポートしていることは知っています

GWTを使用するアプリケーションがあり、サーバーにファイルをアップロードします。 アップロードが完了すると、サーバーがクライアントにBeanで応答する必要があります。これはファイルのアップロードであるため、応答はサーブレットによって処理されます。

サーブレットによって生成された出力を読み取ることで、クライアントで文字列を読み取ることができます。 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でjquery呼び出しをjsniで簡単にラップできます。ここに示すように、はるかに冗長ではありません http://marcgrabanski.com/article/jquery- makes-parsing-xml-easy

編集:GwtQueryはそれを行うかもしれませんか?わからない、まっすぐなポートではないから。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top