提供された xml ファイルを解析しようとしています。javax.xml DocumentBuilder を使用してファイルを解析しています。ファイルには、解析したくない内部 xml を引用したタグを含めることができます。
短縮例:
<Property Name="Value" PreFormatted="1">"<?xml version='1.0' encoding='UTF-16'?>"</Property>
パーサーを次のように実行すると:
Document document = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.parse(new InputSource(new ByteArrayInputStream(xml.getBytes("utf-8"))));
次のエラーが表示されます。
[致命的なエラー] :1:106: "[xX][mM][lL]" に一致する処理命令ターゲットは、 禁止されている。
コードに複数の xml 宣言がある場合にこのエラーが発生することは理解していますが、パーサーが引用された xml を解析しようとするのを防ぐ方法がわかりません。
引用された xml が解析されないようにするにはどうすればよいですか?