public static void SaveXml(
this DicomDataSet ds,
Stream stream,
DicomDataSetSaveXmlFlags xmlFlags
)
[ExtensionAttribute()]
public:
static void SaveXml(
DicomDataSet^ ds,
Stream^ stream,
DicomDataSetSaveXmlFlags xmlFlags
)
ds
The Data Set being saved
stream
The stream where the output XML file is written
xmlFlags
Flags that affect how binary data and other information is saved in the XML output file
Use this method to save a DicomDataSet as an XML stream. By default, all binary data is written using Base64 encoding, but this behavior can be modified by passing appropriate DicomDataSetSaveXmlFlags
Pass the DicomDataSetSaveXmlFlags.NativeDicomModel flag to save as the 'Native DICOM Model' XML format described in PS3.19.A.1 of the DICOM Specification. One of the following flags can be used together with the DicomDataSetSaveXmlFlags.NativeDicomModel flag to control how binary data is written. If DicomDataSetSaveXmlFlags.NativeDicomModel, is not also included, all of the following flags are ignored. Callers should only pass one of the three flags. If more than one of the flags is passed, precedence is given in the order that they appear below.
If none of these three flags are passed, the default behavior is BulkDataUuid. The output XML file can be customized by passing the optional SaveXmlCallback delegate. For more information on this, see the documentation and example for SaveXmlCallback.
using Leadtools.Dicom;
using Leadtools.Dicom.Common;
using Leadtools.Dicom.Common.Extensions;
using Leadtools;
using Leadtools.Dicom.Common.Linq.BasicDirectory;
using Leadtools.Dicom.Common.DataTypes;
using Leadtools.Codecs;
public void LoadXmlExample2()
{
string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "image3.dcm");
string dicomFileNameOut = Path.Combine(LEAD_VARS.ImagesDir, "test.dcm");
// Initialize DICOM engine
DicomEngine.Startup();
DicomDataSet ds = new DicomDataSet();
// Load an existing DICOM file
ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None);
// Save as XML to a stream with no binary data
// For the demo, keep the XML output file size small by skipping the pixel data
DicomDataSetSaveXmlFlags xmlFlags =
DicomDataSetSaveXmlFlags.IgnoreBinaryData |
DicomDataSetSaveXmlFlags.TrimWhiteSpace |
DicomDataSetSaveXmlFlags.TagWithCommas;
Stream stream = new MemoryStream();
ds.SaveXml(stream, xmlFlags);
// Display contents of stream
stream.Flush();
stream.Position = 0;
StreamReader sr = new StreamReader(stream);
string xmlString = sr.ReadToEnd();
Console.WriteLine(xmlString, "xml version of " + dicomFileNameIn);
// Now reload the XML file from the stream.
// Note that there will not be an image because we skipped the pixel data in the save
stream.Seek(0, SeekOrigin.Begin);
//stream.Position = 0;
ds.LoadXml(stream, DicomDataSetLoadXmlFlags.None);
ds.Save(dicomFileNameOut, DicomDataSetSaveFlags.None);
DicomEngine.Shutdown();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
LoadXml(DicomDataSet,String,DicomDataSetLoadXmlFlags) Method
LoadXml(DicomDataSet,Stream,DicomDataSetLoadXmlFlags) Method
SaveXml(DicomDataSet,String,DicomDataSetSaveXmlFlags,SaveXmlCallback) Method
SaveXml(DicomDataSet,Stream,DicomDataSetSaveXmlFlags,SaveXmlCallback) Method
SaveXml(DicomDataSet,String,DicomDataSetSaveXmlFlags) Method
[SaveXml(DicomDataSet,Stream,DicomDataSetSaveXmlFlags)Method
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document