2016-12-23 14 views
0

私は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(); 

答えて

0

を私はthis example次、DOMの代わりにXmlSerializerを使用して二重引用符を生成するために管理:それは場合に役立ちます。ここ


は、私のコードの小さなスニペットです。

結果のxmlファイルはOpenCVによって問題なく読み取られます。

関連する問題