3

私のアプリケーションはビューにXFormsを使用しており、XFormsはユーザーからの回答を含む出力XMLを生成します。次の行を含めると

<fr:xforms-inspector xmlns:fr="http://orbeon.org/oxf/xml/form-runner"/> 

コードでは、生成された出力を画面に表示できます。したがって、ユーザー名の場合、ユーザーが入力amitすると、生成されたXMLも付属します。

私は実際に、この生成されたXMLをJavaクラスで取得してデータベースに保存し、解析してその内容を分割したいと考えていました。そのXMLを取得するために次のコードを試しましたが、生成されたXMLを取得できませんでした。

BufferedReader requestData = new BufferedReader(new InputStreamReader(request.getInputStream()));
StringBuffer stringBuffer = new StringBuffer();
String line;
try{
  while ((line = requestData.readLine()) != null) {
    stringBuffer.append(line);
  }
} catch (Exception e){}
   return stringBuffer.toString();
}

私が何をしているのか教えてください。

4

1 に答える 1

0

XForms 送信を通じてサーブレットまたは JSP にポストされた XML を受信するサーブレットまたは JSP 内に Java コードを配置したい場合は、手動で行うのではなく、XML パーサーを使用して解析することをお勧めします。Dom4j でこれを行うのは非常に簡単です。たとえば、ルート要素のコンテンツを取得するには (テキストを含む要素だけを受け取ると仮定します):

Document queryDocument = xmlReader.read(request.getInputStream());
String query = queryDocument.getRootElement().getStringValue();

参考までに、これを引用した例の完全なソースを参照してください。

于 2011-02-24T18:48:08.083 に答える