一部のXMLノードに生のバイトデータを出力しようとしています。
私は、出力が私のソリューションに適して
いるとは思いません。Base64
私の現在の仕事は次のとおりです。
ファイルに保存するには:
(コンテナクラスFooのメンバー関数)
public void save(String file)
{
XmlWriterSettings settings = new XmlWriterSettings();
XmlSerializer serializer = new XmlSerializer(typeof(Foo));
XmlWriter writer = XmlWriter.Create(file, settings);
serializer.Serialize(writer, this);
}
クラスをシリアル化するには(クラスはIXmlSerializableから継承されます):
(のデータBytes
は生データです)
public void WriteXml(XmlWriter writer)
{
char[] temp = new char[Bytes.Length];
for (int i = 0; i < temp.Length; i++)
{
int n = (int)Bytes[i];
temp[i] = (char)n;
}
writer.WriteRaw(temp, 0, temp.Length);
}
この操作の後、のデータは一時のデータと完全に一致すると確信していますBytes
が、クラスをシリアル化した後、出力ファイルの生データは一致していないようですが、一部は似ています。のエンコード設定を試してみましたXmlWriter
が、例外が発生することがよくあります。