私はAndroidのXmlSerializerを使用してOpenCVライブラリで使用する.xmlファイルを生成しています(SimpleBlobDetectorのパラメータを入力する手段として)。XmlSerializerは、一重引用符ではなく二重引用符を宣言で使用できますか?
問題が発生した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();