<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: reading values in selected row (c#) in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/reading-values-in-selected-row-c/m-p/348719#M9223</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Not sure if this will help but maybe.&amp;nbsp; To use feature class fields in a .Net object you have to convert an ITable object to a .Net DataTable.&amp;nbsp; The attached code should do that for you.&amp;nbsp; Note that you have to determine the data types in the feature class and create fields of the same or similar types in the DataTable.&amp;nbsp; The attached code only does the matching for some data types but the pattern should be a guide.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To get the iTable object:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;IFeatureWorkspace pFeatureWorkspace = (IFeatureWorkspace)pGDBWorkSpace;
IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass(m_SDEDB_FeatureClassName);
ITable pFCAttributeTable = (ITable)pFeatureClass;
DT = ConvertITable(pFCAttributeTable, SortFields);&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This does the work:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;private DataTable ConvertITable(ITable table, string SortFields)
{
 //Dennis Geasan - March 1, 2012
 //Convert an ITable object to a .Net DataTable Object.
 //
 //Found the original code on ESRI Forums
 //http://forums.esri.com/Thread.asp?c=159&amp;amp;f=1707&amp;amp;t=209915
 //wang chisheng&amp;nbsp; Date Jan 18, 2007&amp;nbsp; 
 //
 //The following may also be relavent for future work.
 //http://edndoc.esri.com/arcobjects/9.2/NET/a6eb84fb-93db-4bc3-82a9-874d8890a8ca.htm
 //
 DataTable DatatableFromITable;
 DatatableFromITable = new DataTable("DatatableFromITable");

 try
 {
&amp;nbsp; //First sort the table then convert that to a DataTable.
&amp;nbsp; // Create the TableSort object.
&amp;nbsp; ITableSort tableSort = new TableSortClass();
&amp;nbsp; tableSort.Table = table;
&amp;nbsp; tableSort.Fields = SortFields;
&amp;nbsp; tableSort.set_Ascending(SortFields, true);
&amp;nbsp; tableSort.Sort(null);

&amp;nbsp; IQueryFilter que = new QueryFilterClass();
&amp;nbsp; ICursor pCursor = tableSort.Rows;
&amp;nbsp; IRow pRow = pCursor.NextRow();

&amp;nbsp; if (pRow != null)
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; //For this loop I need to define the data type on the column being added to the DataTable.
&amp;nbsp;&amp;nbsp; //Get this from pRow.Fields.Field.Type.
&amp;nbsp;&amp;nbsp; //You&amp;nbsp; have to map every ESRI data type to .Net data types.&amp;nbsp; Note that this has not been done for all field types.&amp;nbsp; Modify as needed.
&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; pRow.Fields.FieldCount; i++)
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Add all of the FC columns to the DataTable object.
&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns.Add(pRow.Fields.get_Field(i).Name);

&amp;nbsp;&amp;nbsp;&amp;nbsp; //Determine the ESRI data type of the incoming fields.&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; //This code example is skipping some types
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeBlob &amp;amp;&amp;amp; pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeGeometry &amp;amp;&amp;amp; pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeGlobalID &amp;amp;&amp;amp; pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeGUID &amp;amp;&amp;amp; pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeOID &amp;amp;&amp;amp; pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeRaster &amp;amp;&amp;amp; pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeXML)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (pRow.Fields.Field&lt;I&gt;.Type)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case esriFieldType.esriFieldTypeString:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns[pRow.Fields.get_Field(i).Name].DataType = System.Type.GetType("System.String");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case esriFieldType.esriFieldTypeDate:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns[pRow.Fields.get_Field(i).Name].DataType = System.Type.GetType("System.DateTime");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case esriFieldType.esriFieldTypeDouble: 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns[pRow.Fields.get_Field(i).Name].DataType = System.Type.GetType("System.Double");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case esriFieldType.esriFieldTypeInteger:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns[pRow.Fields.get_Field(i).Name].DataType = System.Type.GetType("System.Int32");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case esriFieldType.esriFieldTypeSingle:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns[pRow.Fields.get_Field(i).Name].DataType = System.Type.GetType("System.Single");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case esriFieldType.esriFieldTypeSmallInteger:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns[pRow.Fields.get_Field(i).Name].DataType = System.Type.GetType("System.Int16");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; //Now copy the data to a .Net DataRow and then a DataTable
&amp;nbsp;&amp;nbsp; while (pRow != null)
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; DataRow pDataRow = DatatableFromITable.NewRow();
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int j = 0; j &amp;lt; pCursor.Fields.FieldCount; j++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pDataRow&lt;J&gt; = pRow.get_Value(j);
&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Rows.Add(pDataRow);
&amp;nbsp;&amp;nbsp;&amp;nbsp; pRow = pCursor.NextRow();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }
 }
 catch (System.Exception ex)
 {
&amp;nbsp; //MessageBox.Show(ex.Message);
&amp;nbsp; m_Error = true;
&amp;nbsp; m_ErrorMessage = "Something went wrong while converting from ITable to DataTable.\n" + ex.Message;
 }
 //Apparently the following doesn't really sort the table.&amp;nbsp; A DataView object derived from DataTable.DataView will be sorted.
 //DatatableFromITable.DefaultView.Sort = SortFields;
 return DatatableFromITable;
}&lt;/J&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 16:24:16 GMT</pubDate>
    <dc:creator>DennisGeasan</dc:creator>
    <dc:date>2021-12-11T16:24:16Z</dc:date>
    <item>
      <title>reading values in selected row (c#)</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/reading-values-in-selected-row-c/m-p/348718#M9222</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any way to read values in selected records in c#? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What I want to is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. select some portion of feature A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. read field value in selected rows in feature A &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cursor object only to through 1st to last, not portionly. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So now I copied selected row into new feature class, and then make cursor for that copied feature. But it takes more time... &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any faster way to do this? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 May 2012 22:12:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/reading-values-in-selected-row-c/m-p/348718#M9222</guid>
      <dc:creator>InsuHong1</dc:creator>
      <dc:date>2012-05-21T22:12:21Z</dc:date>
    </item>
    <item>
      <title>Re: reading values in selected row (c#)</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/reading-values-in-selected-row-c/m-p/348719#M9223</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Not sure if this will help but maybe.&amp;nbsp; To use feature class fields in a .Net object you have to convert an ITable object to a .Net DataTable.&amp;nbsp; The attached code should do that for you.&amp;nbsp; Note that you have to determine the data types in the feature class and create fields of the same or similar types in the DataTable.&amp;nbsp; The attached code only does the matching for some data types but the pattern should be a guide.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To get the iTable object:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;IFeatureWorkspace pFeatureWorkspace = (IFeatureWorkspace)pGDBWorkSpace;
IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass(m_SDEDB_FeatureClassName);
ITable pFCAttributeTable = (ITable)pFeatureClass;
DT = ConvertITable(pFCAttributeTable, SortFields);&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This does the work:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;private DataTable ConvertITable(ITable table, string SortFields)
{
 //Dennis Geasan - March 1, 2012
 //Convert an ITable object to a .Net DataTable Object.
 //
 //Found the original code on ESRI Forums
 //http://forums.esri.com/Thread.asp?c=159&amp;amp;f=1707&amp;amp;t=209915
 //wang chisheng&amp;nbsp; Date Jan 18, 2007&amp;nbsp; 
 //
 //The following may also be relavent for future work.
 //http://edndoc.esri.com/arcobjects/9.2/NET/a6eb84fb-93db-4bc3-82a9-874d8890a8ca.htm
 //
 DataTable DatatableFromITable;
 DatatableFromITable = new DataTable("DatatableFromITable");

 try
 {
&amp;nbsp; //First sort the table then convert that to a DataTable.
&amp;nbsp; // Create the TableSort object.
&amp;nbsp; ITableSort tableSort = new TableSortClass();
&amp;nbsp; tableSort.Table = table;
&amp;nbsp; tableSort.Fields = SortFields;
&amp;nbsp; tableSort.set_Ascending(SortFields, true);
&amp;nbsp; tableSort.Sort(null);

&amp;nbsp; IQueryFilter que = new QueryFilterClass();
&amp;nbsp; ICursor pCursor = tableSort.Rows;
&amp;nbsp; IRow pRow = pCursor.NextRow();

&amp;nbsp; if (pRow != null)
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; //For this loop I need to define the data type on the column being added to the DataTable.
&amp;nbsp;&amp;nbsp; //Get this from pRow.Fields.Field.Type.
&amp;nbsp;&amp;nbsp; //You&amp;nbsp; have to map every ESRI data type to .Net data types.&amp;nbsp; Note that this has not been done for all field types.&amp;nbsp; Modify as needed.
&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; pRow.Fields.FieldCount; i++)
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Add all of the FC columns to the DataTable object.
&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns.Add(pRow.Fields.get_Field(i).Name);

&amp;nbsp;&amp;nbsp;&amp;nbsp; //Determine the ESRI data type of the incoming fields.&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; //This code example is skipping some types
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeBlob &amp;amp;&amp;amp; pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeGeometry &amp;amp;&amp;amp; pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeGlobalID &amp;amp;&amp;amp; pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeGUID &amp;amp;&amp;amp; pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeOID &amp;amp;&amp;amp; pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeRaster &amp;amp;&amp;amp; pRow.Fields.Field&lt;I&gt;.Type != esriFieldType.esriFieldTypeXML)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (pRow.Fields.Field&lt;I&gt;.Type)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case esriFieldType.esriFieldTypeString:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns[pRow.Fields.get_Field(i).Name].DataType = System.Type.GetType("System.String");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case esriFieldType.esriFieldTypeDate:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns[pRow.Fields.get_Field(i).Name].DataType = System.Type.GetType("System.DateTime");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case esriFieldType.esriFieldTypeDouble: 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns[pRow.Fields.get_Field(i).Name].DataType = System.Type.GetType("System.Double");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case esriFieldType.esriFieldTypeInteger:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns[pRow.Fields.get_Field(i).Name].DataType = System.Type.GetType("System.Int32");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case esriFieldType.esriFieldTypeSingle:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns[pRow.Fields.get_Field(i).Name].DataType = System.Type.GetType("System.Single");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case esriFieldType.esriFieldTypeSmallInteger:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Columns[pRow.Fields.get_Field(i).Name].DataType = System.Type.GetType("System.Int16");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; //Now copy the data to a .Net DataRow and then a DataTable
&amp;nbsp;&amp;nbsp; while (pRow != null)
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; DataRow pDataRow = DatatableFromITable.NewRow();
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int j = 0; j &amp;lt; pCursor.Fields.FieldCount; j++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pDataRow&lt;J&gt; = pRow.get_Value(j);
&amp;nbsp;&amp;nbsp;&amp;nbsp; DatatableFromITable.Rows.Add(pDataRow);
&amp;nbsp;&amp;nbsp;&amp;nbsp; pRow = pCursor.NextRow();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }
 }
 catch (System.Exception ex)
 {
&amp;nbsp; //MessageBox.Show(ex.Message);
&amp;nbsp; m_Error = true;
&amp;nbsp; m_ErrorMessage = "Something went wrong while converting from ITable to DataTable.\n" + ex.Message;
 }
 //Apparently the following doesn't really sort the table.&amp;nbsp; A DataView object derived from DataTable.DataView will be sorted.
 //DatatableFromITable.DefaultView.Sort = SortFields;
 return DatatableFromITable;
}&lt;/J&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 16:24:16 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/reading-values-in-selected-row-c/m-p/348719#M9223</guid>
      <dc:creator>DennisGeasan</dc:creator>
      <dc:date>2021-12-11T16:24:16Z</dc:date>
    </item>
  </channel>
</rss>

