0
XmlWriterとXmlReaderの2つのメソッドがあります。
私はThumbprintというバイト[]を持っています。私はそれをバイト[]から文字列に変換し、それを自分のXMLファイルに書き出します。これは機能します。私はそれを文字列から読み込み、それをバイト[]に戻す方法を理解する必要があります。ここ
は、これまでの私のコードです:XmlWriterとXmlReaderを使用した文字列からバイトへの変換
public void WriteXml(XmlWriter writer)
{
writer.WriteStartElement("agent");
writer.WriteStartElement("thumbprint");
var encoding = new UnicodeEncoding();
if (Thumbprint != null)
{
string base64 = System.Convert.ToBase64String(encoding.GetBytes(Thumbprint.ToString()));
writer.WriteCData(base64);
}
else
{
writer.WriteEndElement();
}
}
public void ReadXml(XmlReader reader)
{
if (reader.IsStartElement("agent"))
{
//
// Read past <agent>
//
reader.Read();
while (true)
{
if (reader.IsStartElement("thumbprint"))
{
byte[] toDecodeByte = System.Convert.FromBase64String(Thumbprint.ToString());
Thumbprint = toDecodeByte;
}
else
{
//
// Read </agent>
//
reader.MoveToContent();
reader.ReadEndElement();
break;
}
}
}
else
{
throw new XmlException("Expected <agent> element was not present");
}
}
XML入力:あなたはエンコーディングを知らないとき、バイト配列から文字列に変換する
<thumbprint>
<![CDATA[UwB5AHMAdABlAG0ALgBCAHkAdABlAFsAXQA=]]>
</thumbprint>
XMLファイル(入力)のサンプル例を見ることができますか? –
OPにXMLスニペットを追加しました。これまでのところ私はここから例を使用しようとしました:http://stackoverflow.com/questions/17835928/write-xml-in-base64-encodingしかし、私はこれを動作させるように見えることはできません。私はまた別の方法を試みたが、それはどちらも動作していない。あなたがOPのreadメソッドを見ても、私が試したことで更新されています。 – Tim