상당히 큰 xml DOM을 생성하고이를 파일 (최대 50-100MB)에 기록하는 코드가 있습니다. 기본적으로 DOM을 생성 한 다음 toString을 호출하고 ofstream을 사용하여 작성합니다. 생성 된 DOM의 스트리밍 출력을 얻어 메모리에 전체 구조를 한 번에 생성하지 않고 복사하는 방법이 있습니까? 노드를 생성 한 후에 노드를 수정하지 않고 즉시 쓸 수 있고 메모리를 즉시 확보 할 수 있습니다. 나는 xml 구조를하는 자신의 xml 클래스를 작성할 수는 있지만 ... 나는 그것이 좋은 생각이라고 생각하지 않는다. 왜냐하면 나는 도망 칠 때 뭔가를 놓칠 것이기 때문이다.C++에서 큰 XML 문서를 만들고 스트리밍하기
1
A
답변
3
는 libxml2를 스트리밍 API를이 밝혀 :
http://xmlsoft.org/examples/testWriter.c
조금 오래된 스타일 (매우 C 틱)입니다하지만 당신은 주위 래퍼를 작성할 수 있습니다.
1
나는 GenX을 XML 작성기 스트리밍, 나는 이것을 Programmer's Notepad에서 사용하며, 소스 코드에서 사용 예를 볼 수있다. 매우 빠르며 훌륭한 UTF-8 XML을 생성합니다. 메모리 사용량은 대략 일정해야합니다. 좋아
0
키워드 "C++ XML writer;"를 찾으십시오. XML 작성자는 전체 DOM을 메모리에 작성하지 않고 XML을 생성하여 파일을 작성하므로 메모리를 많이 사용할 필요가 없습니다. 플랫폼에 대해서는 언급하지 않았지만 Microsoft XmlLite에는 IXmlWriter가 있습니다.
0
유효한 XML을 생성하는 데별로 도움이되지 않습니다. 당신이 걱정하는 탈출은 사소한 것입니다.
XML의 스트리밍 작성을위한 라이브러리는 다음과 같습니다. https://code.google.com/p/xml-writer-cpp/ - 다른 목적이 없으면 교육 목적으로 유용합니다.
관련 문제
- 1. XML 문서를 만들고 파싱하는 모범 사례
- 2. 큰 문서를 저장하기위한 데이터베이스
- 3. XML 문서를 만들고 파일에 저장하는 가장 좋은 방법은 무엇입니까?
- 4. C#으로 xml 문서를 만들고 perl로 구문 분석합니다.
- 5. C에서 문서를 PDF로 자동화 #
- 6. 큰 HTML 문서를 PDF로
- 7. 동적으로 XML 문서를 만들려면
- 8. 데이터를 텍스트 파일로 스트리밍하기
- 9. LINQ로 XML 문서를 쿼리하는 방법?
- 10. XML : xml 문서를 다른 문서의 노드에 추가하기
- 11. XML 스타일 시트와 XML 문서를 Nokogiri와 연결
- 12. 큰 xml 결과 집합에서 출력
- 13. C에서 동적 속성을 만들고 해시 테이블을 바인딩하십시오.
- 14. C에서 텍스트 상자와 XML #
- 15. XML 문서를 데이터베이스에 저장 하시겠습니까?
- 16. perl XML 문서를 작성하는 LibXML
- 17. 콜백에서 XML 문서를 어떻게 파싱합니까?
- 18. 추가] 큰 XML
- 19. 큰 xml 파일 처리
- 20. eclipse에서 큰 XML 파일보기?
- 21. 큰 Xml 파일 변환
- 22. XML : 큰 데이터 처리
- 23. XML 문서를 Java의 문자열 변수에 복사
- 24. ASP.NET 문서에서 xml 문서를 만들려면 ASP.NET/C#?
- 25. StAX를 사용하여 XML 문서를 약간 수정했습니다.
- 26. C에서 XML 및 XML 스키마를 사용하는 방법
- 27. 스트리밍하기 전에 오디오 노래의 길이를 아는 방법?
- 28. XML 문서를 여러 번 다시로드하지 않으려면 어떻게해야합니까?
- 29. XPathNavigator.CheckValidity는 유효하지 않은 XML 문서를 확인합니다.
- 30. 파이썬의 소켓 스트림에서 XML 문서를 빌드/파싱