【发布时间】:2017-03-29 19:23:37
【问题描述】:
我有一个 fileInputStream 对象,它可能包含也可能不包含 xml 声明 <?xml version='1.0'?>。如果存在,我需要剥离 xml 声明。如何在不将 inputStream 对象转换为字符串、剥离 XML PI 然后将其转换回输入流的情况下做到这一点?
InputStream inputStream = new FileInputStream(importFilePath);
【问题讨论】:
-
这不是xml处理指令,它被称为xml声明...它可能包含有关xml的重要信息,例如编码类型,没有这些数据可能会变得无效...这是什么你真的想做吗?
-
你是对的。它不是 PI。我将其称为 PI,因为在我的场景中,我必须在输入流的开头附加
并在 Steam 的末尾附加 ,我需要将结果流传递给 org.w3c.dom .Document.parse()。 parse 方法抛出异常说“org.xml.sax.SAXParseException:处理指令不能以 xml 开头”。异常指向 XML 声明的开头并说 PI 不能以 xml 开头。 -
是的。我的目标是从 inputStream 中去掉 xml 声明。
标签: java xml inputstream java-io