using System
using System.Collections.Generic
using System.Linq
using System.Text
using System.Xml
using System.IO
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string tmpFileLocation = CreateRandomFile()
using (FileStream fs = new FileStream(tmpFileLocation, FileMode.Open))
{
Console.WriteLine("File:{0} Opened As FileStream.", tmpFileLocation)
XmlDocument xDoc = WriteFileStreamAsXml(fs)
ConsolePrintXmlDocument(xDoc)
string xmlLocation = Path.GetFullPath("output.xml")
SaveXmlDocumentAsFile(xDoc, xmlLocation)
Console.WriteLine("This Xml Document Saved as {0}.", xmlLocation)
}
Console.ReadLine()
}
private static XmlDocument WriteFileStreamAsXml(FileStream fs)
{
XmlDocument xDoc = new XmlDocument()
XmlElement xRoot = xDoc.CreateElement("FileStreamBase64")
using(MemoryStream ms=new MemoryStream())
{
fs.Position = 0
fs.CopyTo(ms)
string content= Convert.ToBase64String(ms.ToArray())//bytes->base64
XmlNode contentNode = xDoc.CreateTextNode(content)
xRoot.AppendChild(contentNode)
}
xDoc.AppendChild(xRoot)
return xDoc
}
private static void SaveXmlDocumentAsFile(XmlDocument xDoc, string location)
{
xDoc.Save(location)
}
private static string CreateRandomFile()
{
Random rnd = new Random()
byte[] buffer = new byte[1024]
rnd.NextBytes(buffer)
string tmpFileLocation = Path.GetTempFileName()
File.WriteAllBytes(tmpFileLocation,buffer)
return tmpFileLocation
}
private static void ConsolePrintXmlDocument(XmlDocument xDoc)
{
Console.WriteLine("Xml Document Begin:")
Console.WriteLine(xDoc.OuterXml)
Console.WriteLine("Xml Document End.")
}
}
}
分类: 电脑/网络 >> *** 作系统/系统故障解析:
所谓的xml,就是eXtensible Markup Language, 翻译成中文就是“可扩展标识语言“,在国内很多人理解xml为的简单扩展,这实际上是一种误解。尽管xml同关系非常密切。
Xml 结合了sgml 和的优点并消除其缺点。Xml 仍然被认为是一种sgml语言。比sgml要简单,但能实现sgml的大部分的功能。1996年的夏天,Sun Microssystem的John Bosak开始开发W3C SGML工作组(现在称为xml工作组)。他们的目标是创建一种sgml,使其在Web中,既能利用Sgml的长处,又保留的简单性。现在目标基本达到。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)