LoadXml(DicomDataSet,string,DicomDataSetLoadXmlFlags,LoadXmlBeforeElementCallback,LoadXmlAfterElementCallback) Method

Summary

Loads the contents of a DICOM encoded XML file.

Syntax
C#
VB
C++
<ExtensionAttribute()> 
Public Overloads Shared Sub LoadXml( _ 
   ByVal ds As DicomDataSet, _ 
   ByVal fileName As String, _ 
   ByVal xmlFlags As DicomDataSetLoadXmlFlags, _ 
   ByVal cbBefore As LoadXmlBeforeElementCallback, _ 
   ByVal cbAfter As LoadXmlAfterElementCallback _ 
)  

Parameters

ds
The Data Set that will be created and populated with the contents of the DICOM XML input file

fileName
The name of the input XML file

xmlFlags
Flags that affect whether to ignore binary or all data from the DICOM XML input file

cbBefore
Optional callback that allows you to modify how the input XML file elements, attributes, and values are used.

cbAfter
Optional callback that allows you to change the DicomElement after it has been added to the DicomDataSet.

Remarks

Use this method to read the contents of a DICOM XML file. The DICOM XML file can be created using SaveXml By default, all binary data is read from the DICOM input XML file, but this behavior can be modified by passing appropriate DicomDataSetLoadXmlFlags

The way that this method processes the input XML file elements, attributes, and element values can be customized by passing the optional LoadXmlBeforeElementCallback delegate. For more information on this, see the documentation and example for LoadXmlBeforeElementCallback. The DicomElement themselves can be modified after they have been added to the DicomDataSet by passing the optional LoadXmlAfterElementCallback delegate. For more information on this, see the documentation and example for LoadXmlAfterElementCallback.

Example

This example will load a sample DICOM data set, then save it as an XML file (with no binary data), and then reload the XML file into a DicomDataSet object

C#
VB
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; 
 
public void LoadXmlExample() 
{ 
   string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir, "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:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools.Dicom 
Imports Leadtools.Dicom.Common 
Imports Leadtools.Dicom.Common.Extensions 
Imports Leadtools.Dicom.Common.Linq 
Imports Leadtools.Dicom.Common.Linq.BasicDirectory 
Imports Leadtools 
Imports Leadtools.Dicom.Common.DataTypes 
 
Public Sub LoadXmlExample() 
   Dim dicomFileNameIn As String = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm") 
   Dim xmlFileNameOut As String = Path.Combine(LEAD_VARS.ImagesDir, "test.xml") 
 
   ' Initialize DICOM engine 
   DicomEngine.Startup() 
 
   Dim ds As DicomDataSet = 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 
   Dim xmlFlags As DicomDataSetSaveXmlFlags = DicomDataSetSaveXmlFlags.IgnoreBinaryData Or DicomDataSetSaveXmlFlags.TrimWhiteSpace Or 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() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

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

Leadtools.Dicom.Common Assembly