3

我的应用程序使用 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();
}

请让我知道我做错了什么。

4

1 回答 1

0

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

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

作为参考,请参阅此示例的完整来源。

于 2011-02-24T18:48:08.083 回答