我正在动态创建一个 XML 文档对象。我需要根据 Schema 验证它。我正在使用 xerces 2。我为解析器设置了功能。现在我需要解析以验证 XML。
为此,我需要调用“parser.parse()”。但是 parse() 方法将“InputSource”作为参数。但我有 Document 对象。如何将此 Document 对象转换为“InputSource”以将其传递给 parse() 方法。
任何人都可以帮忙。
最好的祝福,
ByteArrayOutputStream docOutputStream = new ByteArrayOutputStream();
((XmlDocument)domDocument).write(docOutputStream);
ByteArrayInputStream docInputStream = new
ByteArrayInputStream(docOutputStream.toByteArray());
InputSource inputSource = new InputSource(docInputStream);
parser.parse(inputSource);
请参阅此问题以将 Document 转换为 InputStream:how to create an InputStream from a Document or Node
然后使用InputSource(java.io.InputStream byteStream)用 InputSource包装它。
你应该能够做到这一点: