여러분,C#에서 파일에 (큰) XML을 쓰는 방법은 무엇입니까?
C# .NET 3.5에서 정말 큰 XML 문서 (최대 500MB까지)를 작성하는 좋은 방법은 무엇입니까? 주변에서 약간의 검색을했는데이 특정 질문을 해결하는 항목을 찾을 수 없습니다.
내 이전 스레드 (What is the best way to parse (big) XML in C# Code?)는 비슷한 크기의 XML 문서를 읽을 수 있습니다 ... 해결 된 문제로 "update.xml"문서에 업데이트 된 기능 (http://www.opengeospatial.org/standards/sfa)을 쓰는 방법에 대해 생각해 볼 필요가 있습니다.
내 아이디어 : 분명히 문서의 최대 크기를 고려하여 하나의 큰 DOM이 나왔습니다. XSD.EXE를 사용하여 바인딩 클래스를 생성합니다 ... XmlSerializer 클래스와 잘 작동하지만 DOM을 "밑"으로 작성한다고 생각합니다. 이 올바른지?. 나는 한 번에 메모리에 모든 기능 (최대 50,000 가지)을 보유 할 수 없습니다. 데이터베이스의 기능을 읽고 직렬화하고 파일에 써야합니다. 그래서 XmlSerializer를 사용하여 각각의 개별 기능에 대한 "도크 렛"을 파일에 작성해야한다고 생각합니다. 이것이 가능한지/실현 가능한지 전혀 알 수 없습니다.
당신은 어떻게 생각하십니까?
배경 : 나는 C 번호에 오래된 VB6 맵 인포의 "클라이언트 플러그인"을 포팅하고 있습니다. 이 프로그램 (다른 것들 중에서)과 함께 작동해야하는 기존 J2EE "업데이트 서비스"(실제로는 단지 웹 응용 프로그램)가 있습니다. 나는 서버를 바꿀 수 없다. absapositively 필요한 경우가 아니면; 특히 그 중 다른 클라이언트를 변경하는 것이 포함됩니다. 서버는 어떤 네임 스페이스도 구체화하지 않는 스키마를 가진 XML 문서를 받아들입니다. 즉, 기본 네임 스페이스 만 있고 그 안에 모든 것이 들어 있습니다.
내 경험 : 저는 C# 및 .NET 초보자입니다. 저는 Java, VB, C, C++ 등 다양한 언어로 약 10 년 동안 프로그래밍을 해왔습니다.
건배 모두. 키이스.
추신 : 저녁 식사 시간이므로 30 분 정도 비켜 볼게요.
마크, Merci. (데이빗 슈미트 (David Schmitt)의 답변에 대한 제 의견대로) 나는 두 가지 방법으로 시도하고 성능 테스트를 수행 할 것입니다. 신중한 답변과 해당 예제 코드에 대해 감사드립니다. 굉장해. 고마워. ;-) 언젠가는 내가 갚을 수 있기를 희망합니다. 건배. 키이스. – corlettk