SaveXml(DicomDataSet,string,DicomDataSetSaveXmlFlags,SaveXmlCallback) Method

Summary
Saves the contents of the Data Set to the specified XML output file.
Syntax
C#
C++/CLI
public static void SaveXml( 
   this DicomDataSet ds, 
   string fileName, 
   DicomDataSetSaveXmlFlags xmlFlags, 
   SaveXmlCallback cb 
) 
[ExtensionAttribute()] 
public: 
static void SaveXml(  
   DicomDataSet^ ds, 
   String^ fileName, 
   DicomDataSetSaveXmlFlags xmlFlags, 
   SaveXmlCallback^ cb 
)  

Parameters

ds
The contents of this DataSet to be saved

fileName
The name of the output XML file

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

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

Remarks

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.

Example
C#
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 
   DicomEngine.Startup(); 
 
   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 | 
      DicomDataSetSaveXmlFlags.TagWithCommas; 
   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); 
 
   DicomEngine.Shutdown(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.1.30
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 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.