ElementName Property (original) (raw)

Summary

Gets the name of the element as it appears in the input XML file.

Syntax

public string ElementName { get; set; } 

public: property String^ ElementName { String^ get(); void set ( String^ ); }

Property Value

The name of the element as it appears in the input XML file.

Example

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 SaveXmlCallbackExample() { string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "image3.dcm"); string xmlFileNameOut = Path.Combine(LEAD_VARS.ImagesDir, "test.xml"); 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 file with no binary data // For the demo, keep the XML output file size small by skipping the pixel data // Use the SaveXmlCallback delegate to customize the XML file DicomDataSetSaveXmlFlags xmlFlags = DicomDataSetSaveXmlFlags.IgnoreBinaryData | DicomDataSetSaveXmlFlags.TrimWhiteSpace | DicomDataSetSaveXmlFlags.TagWithCommas; ds.SaveXml(xmlFileNameOut, xmlFlags, new SaveXmlCallback(MySaveXmlCallback)); // Use a LoadmlCallback to read the customized XML file ds.LoadXml(xmlFileNameOut, DicomDataSetLoadXmlFlags.None, new LoadXmlBeforeElementCallback(MyLoadXmlBeforeElementCallback), new LoadXmlAfterElementCallback(MyLoadXmlAfterElementCallback)); // Save the result -- there will be no pixel data ds.Save(dicomFileNameOut, DicomDataSetSaveFlags.None); DicomEngine.Shutdown(); } private static bool MySaveXmlCallback(SaveXmlData data) { //string sTag = data.attributes["tag"]; //if (sTag.StartsWith("0008")) // return false; if (data.NodeType == DicomXmlNodeType.Comment) { data.Comment = "COMMENT: customized xml file using the SaveXmlCallback"; return false; } if (data.ElementName == "dataset") { data.Attributes.Add("new_attribute", "some_value"); } else if (data.ElementName == "element") { data.ElementName = "element_newname"; string sTagValue = data.Attributes["tag"]; data.Attributes.Remove("tag"); data.Attributes.Add("tag_newname", sTagValue); } return true; } private static bool MyLoadXmlBeforeElementCallback(LoadXmlBeforeElementData data) { string sTagValue = data.Attributes["tag_newname"]; long tag = 0; sTagValue = sTagValue.Replace(",", string.Empty); if (long.TryParse(sTagValue, System.Globalization.NumberStyles.HexNumber, null, out tag)) data.Tag = tag; return true; } private static void MyLoadXmlAfterElementCallback(LoadXmlAfterElementData data) { if (data.DicomElement.Tag == DicomTag.PixelData) { // here you could call one of the following to set the pixel data // data.DicomDataSet.SetBinaryValue // data.DicomDataSet.SetImage() } } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }

Leadtools.Dicom.Common Assembly