在.NET Framework中輕鬆處理XML資料(4-3)

來源:互聯網
上載者:User
??圖八中代碼示範了把一個string資料轉換為Base 64 編碼的XML流。圖九是輸出的成果。


Figure 8 Persisting a String Array as Base64

using System;

using System.Text;

using System.IO;

using System.Xml;



class MyBase64Array

{

public static void Main(String[] args)

{

string outputFileName = 'test64.xml';

if (args.Length > 0)

outputFileName = args[0]; // file name



// 把數群組轉換成XML

String[] theArray = {'Rome', 'New York', 'Sydney', 'Stockholm',

'Paris'};



CreateOutput(theArray, outputFileName);

return;

}



private static void CreateOutput(string[] theArray, string filename)

{

// 開啟XML writer

XmlTextWriter xmlw = new XmlTextWriter(filename, null);

//使子項目根據 Indentation 和 IndentChar 設定縮排。此選項只對元素內容進行縮排

xmlw.Formatting = Formatting.Indented;

//書寫版本為“1.0”的 XML 聲明

xmlw.WriteStartDocument();

//寫出包含指定文本的注釋 。

xmlw.WriteComment('Array to Base64 XML');

//開端寫出array節點

xmlw.WriteStartElement('array');

//寫出具有指定的首碼、本地名稱、命名空間 URI 和值的屬性

xmlw.WriteAttributeString('xmlns', 'x', null, 'dinoe:msdn-mag');

// 迴圈的寫進array的子節點

foreach(string s in theArray)

{

//寫出指定的開端標記並將其與給定的命名空間和首碼關聯起來

xmlw.WriteStartElement('x', 'element', null);

//把S轉換成byte[]數組, 並把byte[]數組編碼為 Base64 並寫出成果文本,要寫進的位元組數為s總長度的2倍,一個string占的位元組數是2位元組。

xmlw.WriteBase64(Encoding.Unicode.GetBytes(s), 0, s.Length*2);

//封閉子節點

xmlw.WriteEndElement();

}

//封閉根節點,只有兩級

xmlw.WriteEndDocument();



// 封閉writer

xmlw.Close();



// 讀出寫進的內容

XmlTextReader reader = new XmlTextReader(filname);

while(reader.Read())

{

//擷取節點名為element的節點

if (reader.LocalName == 'element')

{



byte[] bytes = new byte[1000];

int n = reader.ReadBase64(bytes, 0, 1000);

string buf = Encoding.Unicode.GetString(bytes);



Console.WriteLine(buf.Substring(0,n));

}

}

reader.Close();



}

}


以上就是在.NET Framework中輕鬆處理XML資料(4-3) 的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.