如何获取java代码,Xform引擎生成的输出XML

时间:2011-02-24 10:05:52

标签: java integration xforms

我的应用程序使用XForms进行视图,XForms生成包含用户给出的答案的输出XML。如果我们包含以下行

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

在代码中我们可以看到屏幕中生成的输出。因此,对于用户名,如果用户键入amit,它也会随生成的XML一起提供。

我实际上想在我的Java类中获取这个生成的XML,以将其保存在数据库中并解析它并拆分其内容。我已经尝试了以下代码来获取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();
}

请让我知道我在做什么。

1 个答案:

答案 0 :(得分:0)

假设您希望在接收通过XForms提交发布到servlet或JSP的XML的servlet或JSP中包含Java代码,那么我建议您使用XML解析器解析它而不是手动执行此操作。使用Dom4j执行此操作非常简单;例如,获取根元素的内容(假设您收到的所有元素都包含一些文本):

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

供参考,请参阅此示例的full source