使用流阅读器时出现问题

时间:2010-01-06 05:43:28

标签: java xml parsing

我将XML数据作为必须解析的字符串,我使用以下代码将XML字符串转换为inputsource:

StringReader reader1 = new StringReader( xmlstring);
InputSource inputSource1= new InputSource( reader );

我正在将输入源传递给

Document doc = builder.build(inputSource);

我想在另一个解析器类中使用相同的inputSource1,但我正在关闭流。

我如何处理这个或者有没有其他方法将XML数据传递给文件以外的解析器?

1 个答案:

答案 0 :(得分:3)

查看JavaDoc,似乎InputSource不是为多个解析器共享和重用而设计的。

  

字节流和字符流的标准处理是在解析结束清理时关闭它们,因此应用程序在将它们传递给解析器后不应尝试重新使用这些流。

所以你必须创建一个新的InputSource。如果您真的是从String阅读,那么I / O或内存成本就没有差别。