Beispiel #1
0
        ///////////////////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////

        #region Load helpers

        /// <summary>
        /// Loads fields of table.
        /// </summary>
        /// <param name="nodeTable">Table node.</param>
        /// <param name="table">Table description.</param>
        private void _LoadFields(XmlNode nodeTable, ITableDefinition table)
        {
            // remove predefinited fields
            table.ClearFields();

            ICollection <string> supportedFields = table.SupportedFields;

            foreach (XmlNode node in nodeTable.ChildNodes)
            {
                if (node.NodeType != XmlNodeType.Element)
                {
                    continue; // skip comments and other non element nodes
                }
                if (node.Name.Equals(NODE_NAME_FIELDS, StringComparison.OrdinalIgnoreCase))
                {
                    foreach (XmlNode nodeField in node.ChildNodes)
                    {
                        if (nodeField.NodeType != XmlNodeType.Element)
                        {
                            continue; // skip comments and other non element nodes
                        }
                        if (nodeField.Name.Equals(NODE_NAME_FIELD, StringComparison.OrdinalIgnoreCase))
                        {
                            string value = nodeField.Attributes[ATTRIBUTE_NAME_NAME].Value;
                            if (supportedFields.Contains(value))
                            {
                                table.AddField(value);
                            }
                        }
                    }
                }
            }
        }
        /// <summary>
        /// Loads fields of table.
        /// </summary>
        /// <param name="nodeTable">Table node.</param>
        /// <param name="table">Table description.</param>
        private void _LoadFields(XmlNode nodeTable, ITableDefinition table)
        {
            // remove predefinited fields
            table.ClearFields();

            ICollection<string> supportedFields = table.SupportedFields;
            foreach (XmlNode node in nodeTable.ChildNodes)
            {
                if (node.NodeType != XmlNodeType.Element)
                    continue; // skip comments and other non element nodes

                if (node.Name.Equals(NODE_NAME_FIELDS, StringComparison.OrdinalIgnoreCase))
                {
                    foreach (XmlNode nodeField in node.ChildNodes)
                    {
                        if (nodeField.NodeType != XmlNodeType.Element)
                            continue; // skip comments and other non element nodes

                        if (nodeField.Name.Equals(NODE_NAME_FIELD, StringComparison.OrdinalIgnoreCase))
                        {
                            string value = nodeField.Attributes[ATTRIBUTE_NAME_NAME].Value;
                            if (supportedFields.Contains(value))
                                table.AddField(value);
                        }
                    }
                }
            }
        }