디스크에 아무것도 저장하지 않고 XDocument의 XML을 MemoryStream으로 변환하려면 어떻게해야합니까?XDocument를 Stream으로 변환
35
A
답변
27
XDocument.WriteTo 메서드를 살펴보십시오. 예 :
.NET 3.5에서Stream stream = new MemoryStream();
doc.Save(stream);
// Rewind the stream ready to read from it elsewhere
stream.Position = 0;
및 이전 버전, 당신은 MemoryStream
을 기반으로 XmlWriter
을 만들어야과 :
using (MemoryStream ms = new MemoryStream())
{
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Indent = true;
using (XmlWriter xw = XmlWriter.Create(ms, xws))
{
XDocument doc = new XDocument(
new XElement("Child",
new XElement("GrandChild", "some content")
)
);
doc.WriteTo(xw);
}
}
.NET 4에서
24
이후, 당신은 MemoryStream
에 저장할 수 있습니다 dtb's answer과 같이 저장하십시오.
+0
둘 다 접근하여 \ r \ n과 공백을 추가 할 수 있을지 궁금합니다. 기존 XmlWriter를 오버로드하는 대신 여기에서 쉬운 옵션을 사용하는 것이 좋습니다. – beanmf
0
XDocument doc = new XDocument(
new XElement(C_ROOT,
new XElement("Child")));
using (var stream = new MemoryStream())
{
doc.Save(stream);
stream.Seek(0, SeekOrigin.Begin);
}
관련 문제
- 1. OutputStream에서 File Stream으로
- 2. XDocument를 올바르게 저장하십시오.
- 3. wcf 서비스의 xdocument를 반환합니다.
- 4. XDocument를 사용하여 속성으로 요소 찾기
- 5. XDocument를 XmlSerializer.Deserialize의 원본으로 사용 하시겠습니까?
- 6. Silverlight에서 XDocument를 사용할 수 없습니까?
- 7. XDocument를 사용하여 웹 서비스를 호출하는 방법은 무엇입니까?
- 8. WCF로 XElement/XDocument를 스트리밍하는 방법은 무엇입니까?
- 9. C#의 MailMessage에 XDocument를 첨부하는 방법은 무엇입니까?
- 10. MSMQ를 통해 XDocument를 보내는 방법 (WCF 사용)?
- 11. WPF에 XDocument를 바인딩하고 XPath를 계속 사용 하시겠습니까?
- 12. XDocument를 사용하기 위해 FileStream을 올바르게 여는 방법
- 13. XDocument를 사용하여 인코딩 UTF 16으로 XML로드
- 14. 요소에 이름이 콜론 인 경우 LINQ로 XDocument를 쿼리하는 방법은 무엇입니까?
- 15. MVVM ViewModel을 사용하여 XDocument를 WPF 트리 뷰로 표시
- 16. GStreamer를 여러 출력으로 변환/변환 변환
- 17. 변환/변환 문제
- 18. 변환 및 변환
- 19. 변환 언어의 언어를 변환
- 20. 변환
- 21. 변환
- 22. 유형 변환 또는 변환 방법?
- 23. Dimension JPEG에서 EPS로 변환 변환
- 24. 일괄 변환 도메인을 IP로 변환
- 25. 2D 아핀 변환 행렬을 3D 아핀 변환 행렬로 변환
- 26. XDocument를 WPF Treeview에 바인딩하는 동안 Xml 특성을 Treeview 노드에 바인딩하는 방법
- 27. Linq 및 XDocument를 사용하여 상위 태그 아래에 모든 하위 요소를 가져올 수 있습니까?
- 28. FFMPEG로 file \ live stream을 여는 방법 openCV로 각 프레임을 편집하고 FFMPEGfile \ live stream으로 인코딩 된 상태로 저장 하시겠습니까?
- 29. Android .NET으로 변환 Path.Combine을 java로 변환 하시겠습니까?
- 30. OpenGL 변환 행렬을 CATransformLayer에서 작동하도록 변환
또는 예 : -p –
@Marc WriteTo()와 Save()의 차이점은 무엇입니까? –
@Daniel Fortunov : .Save는 더 많은 오버로드를 제공하지만 이들 모두가 결국 호출됩니다 .WriteTo – dtb