我正在使用Android的XmlSerializer来生成一个与OpenCV库一起使用的.xml文件(作为输入SimpleBlobDetector参数的方法)。
问题是生成的XML在声明中使用单引号/撇号('):
<?xml version='1.0' encoding='UTF-8' ?>
不幸的是,OpenCV没有读取单引号。它只读取使用双引号(&#34;)的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();