2010-02-26 2 views
3

문자열 (xml)이 있는데 임시로 메모리 스트림으로 저장 한 다음 파일 끝에 저장해야합니다.memorystream에 C#으로 파일에 문자열 (xml)을 구현하는 방법은 무엇입니까?

저는 텍스트 작성기를 사용하여 xml을 파일에 직접 저장할 수 있지만 원하는 것은 아닙니다. 문자열을 메모리 스트림으로 변환 한 다음 파일 스트림에 씁니다.

어떻게 구현할 수 있습니까? 코드 공유는 매우 유용합니다.

+0

:처럼이 보는 경향이있다. –

+0

@ 마크 바이어스, 시간 내 주셔서 감사합니다. 잘! 나는 NDA 때문에 모든 것을 말할 수 없다. 타사 공급 업체로부터 DLL을 거의받지 못했습니다. 이 메소드 중 하나는 메모리 스트림을 입력으로 받아 들여 처리하고 다른 메모리 스트림을 출력으로 제공합니다. XML 문자열을 전달하고 처리 된 메모리 스트림을 파일에 저장하려고합니다. – funwithcoding

답변

9

XML을 나타내는 char 배열 (문자열)에 메모리 스트림을 열려고합니까?

string xml; 

MemoryStream ms = new MemoryStream(Encoding.ASCII.GetBytes(xml)); 

ms.DuStuf(); 

fileStream.Write(ms.GetBuffer(), 0, xml.Length); 
3

는 .NET 4를 사용하는 경우, 이것은 매우 간단합니다 - 그냥 직접하여 FileStream로 MemoryStream을 복사하는 Stream.CopyTo를 사용할 수 있습니다.

이전 버전을 사용하는 경우 직접 구현해야합니다. 그런 다음하여 XDocument의 저장() 파일에 저장을 위해 전화, 당신은 XML로 무엇을해야 할, System.Linq.XDocument로 문자열을로드 할 수

byte[] buffer = new byte[4096]; 
int read; 
while ((read = source.Read(buffer, 0, buffer.Length)) != 0) 
{ 
    destination.Write(buffer, 0, read); 
} 
관련 문제