SaveXml(DicomDataSet,string,DicomDataSetSaveXmlFlags,SaveXmlCallback) Method

Saves the contents of the Data Set to the specified XML output file.
public static void SaveXml( 
   this DicomDataSet ds, 
   string fileName, 
   DicomDataSetSaveXmlFlags xmlFlags, 
   SaveXmlCallback cb 
static void SaveXml(  
   DicomDataSet^ ds, 
   String^ fileName, 
   DicomDataSetSaveXmlFlags xmlFlags, 
   SaveXmlCallback^ cb 


The contents of this DataSet to be saved

The name of the output XML file

Flags that affect how binary data and other information is saved in the XML output file

Optional callback that allows you to change the element names, attributes, and values of the XML output file


Use this method to export a DicomDataSet as a human-readable XML file. 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.

  • InlineBinary
  • BulkDataUri
  • BulkDataUuid

If none of these three flags is passed, the default behavior is DicomDataSetSaveXmlFlags.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 LoadXmlExample() 
   string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "image3.dcm"); 
   string xmlFileNameOut = Path.Combine(LEAD_VARS.ImagesDir, "test.xml"); 
   // Initialize DICOM engine 
   DicomDataSet ds = new DicomDataSet(); 
   // Load an existing DICOM file 
   ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None); 
   // Save as XML 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 | 
   ds.SaveXml(xmlFileNameOut, xmlFlags); 
   // Now reload the XML file.   
   // Note that there will not be an image because we skipped the pixel data in the save 
   ds.LoadXml(xmlFileNameOut, DicomDataSetLoadXmlFlags.None); 
static class LEAD_VARS 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom.Common Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.