Я до сих пор не понял, как решить проблему, однако, если у кого-то еще есть такая же проблема, вы можете использовать регулярное выражение для удаления атрибута xmlns из xml.
private static InputStream stripDeclaration(InputStream is) throws UnsupportedEncodingException {
String string = new Scanner(is).useDelimiter("\\A").next();
string = string.replaceFirst("xmlns=\".*?\"", "");
return new ByteArrayInputStream(string.getBytes("UTF-8") );
}
Это не идеально, так как вам нужно создать строку из вашего XML-файла enitre, которая почти не использует точку синтаксического анализатора. Любые лучшие идеи приветствуются!