XmlDocument myDocument=new XmlDocument();
FileStream myStream=new FileStream (xmlfact,FileMode .Open);
try{ myDocument.Load(myStream);}
catch {}
myStream.Close ();
string s=myDocument.OuterXml;
char byte[]=s.ToCharArray(0,s.length)2.stringstream ss=...
myDocument.Load(ss)
myDocument.save(tess2.xml)
FileStream myStream=new FileStream (xmlfact,FileMode .Open);
try{ myDocument.Load(myStream);}
catch {}
myStream.Close ();
string s=myDocument.OuterXml;
char byte[]=s.ToCharArray(0,s.length)2.stringstream ss=...
myDocument.Load(ss)
myDocument.save(tess2.xml)
解决方案 »
- c# 用 win32 api treeview 遍历
- 向gridview中新增空编辑行的问题
- 求助。。。求助,关于数组问题
- 为何提示"update语法有错"?
- IBM DB2 OLE DB Provider 的补丁在什么地方下载呀,大家知道的,给个详细的地址吧,谢谢!
- C++编写的Dll,在C#中该如何调用,高手指点指点.
- c# 咋样打开tiff格式的灰度影像啊,压缩格式是jpeg
- 用C#开发应用界面(winform),要求(插件支持,自由报表功能等):
- 请大神推荐一下你认为最有用的5个设计模式名称
- 请问我如何检索系统有那些可利用字体
- 怎样在xml文档中找到某个具体节点的数据
- 我做好了个C#程序,C/S结构,如何管理注册?
int n = file.Read(buffer,0,file.Length); //buffer ,即是你要的FileStream target = File.Open(sFileName,FileMode.OpenOrCreate,FileAccess.Write,FileShare.None );
target.Write(buffer,0,n); //就可以完成写入//别忘了关闭附:一个上传文件的例子(没有整理,没有兴趣看上面就够了,哈哈):
============================================================
/// <summary>
/// 上传文件
/// </summary>
/// <param name="filename">要上传的文件名</param>
public UploadException SendFile(string filename,string targetname)
{
//send : CMD(WORD = 0x0301)+filename's length(WORD)+filename(target)+size(DWORD)+times(WORD),
//Receive: CMD(WORD = 0x0302)+reday status(BYTE 1= OK,2 = FAIL)
if(!m_Socket.Connected )
return UploadException.CONNECT_FAILED; //return value
UploadException re = UploadException.OK;
//file
FileStream file = null;
//file size
int size ;
//Upload times
int times ; int nTimes = 0;
try // try to open the file
{
file = File.OpenRead(filename); size = (int)file.Length; times = size/(ONCE_COUNT -2); m_byte.Reset(); int nFileNameLength = m_asen.GetByteCount(targetname); int pos = 0; //put data position m_byte.SetWord(0x0302,ref pos);
m_byte.SetWord((short)nFileNameLength,ref pos);
m_byte.SetByte(m_asen.GetBytes(targetname),ref pos);
m_byte.SetDword(size,ref pos);
m_byte.SetWord((short)times,ref pos);
byte[] bSend = m_byte.GetBuffer(); // m_Socket.BeginSend(bSend,0,bSend.Length,SocketFlags.None,proSend,m_Socket);//Send(bSend);
//等待回应
while(m_nPut == 0 && nTimes < 100)
{
// if( 0 != m_Socket.Receive(bSend))
// m_nPut = 2;
System.Threading.Thread.Sleep(200) ;
nTimes ++; }
if(m_nPut == 2)
return UploadException.OTHER; //组织发送包
for(int i =0; i< times; i++)
{
pos = 0;
m_byte.SetWord(bSend,0x0303,ref pos); //cmd
int n = file.Read(bSend,i*(ONCE_COUNT -2 ) + 2,ONCE_COUNT -2 );
m_Socket.Send(bSend,n + 2, SocketFlags.None );
// m_Socket.BeginSend(bSend,0,n,SocketFlags.None,proSend,m_Socket); }
}
catch(SocketException) // 访问 Socket 时发生操作系统错误。
{
re = UploadException.CONNECT_FAILED;
}
catch(ObjectDisposedException) // Socket 已关闭。
{
re = UploadException.CONNECT_FAILED;
}
服务端
============================================================
/// <summary>
/// 接收数据,并处理
/// </summary>
/// <param name="asyn"></param>
public void OnDataReceived(IAsyncResult asyn)
{
//send : CMD(WORD = 0x0301)+filename's length(WORD)+filename(target)+size(DWORD)+times(WORD),
//Receive: CMD(WORD = 0x0302)+reday status(BYTE 1= OK,2 = FAIL) //check
if( !((asyn.AsyncState) is int))
return; string sFileName = null;
short nNameLength = 0;
int nSize = 0;
byte byOper = ALL_RIGHT; //打开文件操作结果代码 int nIndex = (int)asyn.AsyncState; if(nIndex >= MAX_CONNECT || nIndex <0 )
return ;
TSocketPacket theSockId = aSock[nIndex] ; if(theSockId == null)
return ; try
{
//end receive...
int iRx = theSockId.thisSocket.EndReceive (asyn);
// Console.WriteLine("Received Data From {0},length = {1}",theSockId.thisSocket.RemoteEndPoint.ToString(),iRx);
int pos = 0; int nCmd = m_byte.GetWord(theSockId.dataBuffer,ref pos); if(nCmd == CMD_C_REQUERY) //requery
{ nNameLength = m_byte.GetWord(theSockId.dataBuffer,ref pos); sFileName = m_ascn.GetString(theSockId.dataBuffer,pos,nNameLength); pos += nNameLength; nSize = m_byte.GetDword(theSockId.dataBuffer,ref pos); theSockId.nTimes= m_byte.GetDword(theSockId.dataBuffer,ref pos); Console.WriteLine("Get Requery file = '{0}',size = {1} ,times= {2}",sFileName,nSize,theSockId.nTimes); // assert m_file not opened
if (theSockId.m_file != null)
//return ;
byOper = FILE_ALWAYS_OPENED; try //open the file
{ theSockId.m_file = File.Open(sFileName,FileMode.OpenOrCreate,FileAccess.Write,FileShare.None ); Console.WriteLine("Open or Create file '{0}'",sFileName); byOper = ALL_RIGHT; theSockId.nCurTime = 0; } catch(Exception e)
{
Console.WriteLine(e.Message+","+sFileName);
byOper = OPEN_FILE_FAILED;
} //组织回应命令
pos = 0; m_byte.SetWord(bSend,CMD_S_REQUERY,ref pos); m_byte.SetByte(bSend,new byte[]{byOper},ref pos);
theSockId.thisSocket.Send(bSend,0,pos,SocketFlags.None );
}
else if(nCmd == CMD_C_DETAIL) //detail
{
// Console.WriteLine("Recevied file detail info {0} times",nCurTime);
// assert m_file is opened
if(theSockId.m_file == null)
return ;
//close
theSockId.nCurTime = m_byte.GetDword(theSockId.dataBuffer,ref pos); theSockId.m_file.Write(theSockId.dataBuffer, pos,iRx - pos); //每十个包保存一次
if((theSockId.nCurTime /10 ) == 0)
//save
theSockId.m_file.Flush(); //组织回应命令
pos = 0; m_byte.SetWord(bSend,CMD_S_DETAIL,ref pos);
m_byte.SetDword(bSend,theSockId.nCurTime,ref pos);
theSockId.thisSocket.Send(bSend,0,pos,SocketFlags.None); if( theSockId.nCurTime == theSockId.nTimes )
{
//save
theSockId.m_file.Flush();
theSockId.m_file.Close();
theSockId.m_file = null;
theSockId.nTimes = 0;
// sFileName= null;
} }
WaitForData(nIndex ); }
writer.Formatting = Formatting.Indented;
//Write the XML delcaration
writer.WriteStartDocument();
//Write the ProcessingInstruction node
// String PItext="type='text/xsl' href='book.xsl'";
// writer.WriteProcessingInstruction("xml-stylesheet", PItext);
//Write the DocumentType node
// writer.WriteDocType("Account", null , null, "<!ENTITY h 'hardcover'>");
//Write a Comment node
// writer.WriteComment("sample XML");
//Write an element (this one is the root)
writer.WriteStartElement("Account");
//Write the genre attribute
// writer.WriteAttributeString("Username", t_username.Text.Trim());
//Write the ISBN attribute
// writer.WriteAttributeString("Password", t_password.Text.Trim());
//Write the title
writer.WriteElementString("Username", t_username.Text.Trim());
writer.WriteElementString("Password", t_password.Text.Trim());
//Write the style element
// writer.WriteStartElement("Password");
// writer.WriteEntityRef("h");
// writer.WriteEndElement();
//Write the price
writer.WriteElementString("Template", t_template.Text.Trim());
//Write CDATA
// writer.WriteCData("Prices 15% off!!");
//Write the close tag for the root element
writer.WriteEndElement();
writer.WriteEndDocument();
//Write the XML to file and close the writer
writer.Flush();
writer.Close();
int imageNum;
byte[] pixels = new byte[numPixels];
for(int i=0; i<numPixels; i++)
pixels[i] = (byte) i;
FileStream fs = new FileStream("c:\\Account.xml", FileMode.Create,FileAccess.Write, FileShare.None, 8192, false);
fs.Write(pixels, 0, pixels.Length);
fs.Close();
public string Account_check(byte[] xml_file)
{
XmlDocument myDocument=new XmlDocument();
MemoryStream output = new MemoryStream(xml_file);
try
{
myDocument.Load(output);
myDocument.Save("c:\\Account1.xml");
stream.Close();
}
}