Я использую Android XmlSerializer для создания файла .xml, который будет использоваться с библиотекой OpenCV (как способ ввода параметров для SimpleBlobDetector).
Проблема в том, что сгенерированный XML использует одинарные кавычки/апострофы ( ' ) в объявлении:
<?xml version='1.0' encoding='UTF-8' ?>
К сожалению, OpenCV не читает одинарные кавычки. Он читает только XML, который использует двойные кавычки ( " ), например:
<?xml version="1.0" encoding="UTF-8" ?>
Я попытался вручную изменить одинарные кавычки на двойные, и после этого файл заработал. Тем не менее, мне не представляется возможным делать это вручную все время.
Если это поможет, объявление является единственной частью файла .xml с какими-либо кавычками, но OpenCV требует объявления, поэтому я не могу просто опустить его. Я попытался вручную отредактировать объявление и обнаружил, что оно работает только с простым описанием:
<?xml ?>
Есть ли способ для XmlSerializer создать файл .xml с двойными кавычками вместо одинарных, как это делается в настоящее время? Если нет, есть ли способ удалить номер версии и кодировку?
Вот небольшой фрагмент моего кода, если это поможет:
XmlSerializer xmlSerializer = Xml.newSerializer();
xmlSerializer.setOutput(outputStream,"UTF-8");
xmlSerializer.startDocument("UTF-8",null);
xmlSerializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
//Begin filling in content
xmlSerializer.startTag(null,"thresholdStep");
xmlSerializer.text(Double.toString(thresholdStep));
xmlSerializer.endTag(null,"thresholdStep");
//End document
xmlSerializer.endDocument();
xmlSerializer.flush();
//Close output stream
outputStream.close();