??図 8 のコードは、文字列データを Base64 でエンコードされた XML ストリームに変換する方法を示しています。図 9 は出力結果です。
図 8 文字列配列を Base64 として保持する
using System.Text;
using System.IO
using System.
string OutputFileName = 'test64.xml';
if (args.Length > 0)
outputFileName = args[0] // ファイル名
// 配列を XML に変換します
String[ ] theArray = {'ローマ', 'ニューヨーク', 'シドニー', 'ストックホルム',
'パリ'}; private static void CreateOutput(string[] theArray, string filename)
{
// XML ライターを開く
XmlTextWriter xmlw = new XmlTextWriter(filename, null)
/ / Indentation と IndentChar の設定に基づいて子要素をインデントします。 。このオプションは要素の内容のみをインデントします
xmlw.Formatting = Formatting.Indented;
//バージョン "1.0" で XML 宣言を書き込みます
xmlw.WriteStartDocument()// 指定されたテキストを含む XML 宣言を書き込みますコメント 。
xmlw.WriteComment('Array to Base64 XML');
//配列ノードの書き出しを開始します
xmlw.WriteStartElement('array');
//指定されたプレフィックス、ローカル名、名前空間 URI を書き出しますおよび値の属性
xmlw.WriteAttributeString('xmlns', 'x', null, 'dinoe:msdn-mag');
// ループ内に配列の子ノードを書き込みます
foreach(string s in theArray )
{
//指定された開始タグを書き込み、指定された名前空間とプレフィックスに関連付けます
xmlw.WriteStartElement('x', 'element', null);
//Put S バイトに変換します。 [] 配列、byte[] 配列を Base64 にエンコードし、結果のテキストを書き込みます。書き込まれるバイト数は s の合計長の 2 倍です。文字列が占めるバイト数は 2 バイトです。
xmlw.WriteBase64(Encoding.Unicode.GetBytes(s), 0, s.Length*2);
//閉じた子ノード
xmlw.WriteEndElement()
//閉じたルートノード、レベルは 2 つだけです
xmlw.WriteEndDocument();
// ライターを閉じる
// 書かれた内容を読み出す
XmlTextReader = new XmlTextReader(filname) ;
while(reader.Read())
{
//要素という名前のノードを取得します
if (reader.LocalName == 'element')
{
byte[] bytes = new byte [1000];
int n = Reader.ReadBase64(バイト, 0, 1000);
string buf = Encoding.Unicode.GetString(bytes); );
}
}
reader.Close(); 関連コンテンツの詳細については、PHP 中国語 Web サイト (www.php.cn) に注目してください。