我的应用程序使用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();
}
请让我知道我在做什么。
答案 0 :(得分:0)
假设您希望在接收通过XForms提交发布到servlet或JSP的XML的servlet或JSP中包含Java代码,那么我建议您使用XML解析器解析它而不是手动执行此操作。使用Dom4j执行此操作非常简单;例如,获取根元素的内容(假设您收到的所有元素都包含一些文本):
Document queryDocument = xmlReader.read(request.getInputStream());
String query = queryDocument.getRootElement().getStringValue();
供参考,请参阅此示例的full source。