Пример #1
0
        private MetadataObject[] ParseObjects(XDocument file)
        {
            IEnumerable <XElement> elements = file.Root.Descendants(OBJECT_DESC);

            MetadataObject[] metadataObjects = new MetadataObject[elements.Count()];

            // Object index.
            int i = 0;

            foreach (XElement element in elements)
            {
                metadataObjects[i] = ParseObject(elements, element);

                // Check for name collisions.
                for (int j = 0; j < i; j++)
                {
                    if (metadataObjects[i].Name == metadataObjects[j].Name)
                    {
                        throw MetadataParserException.ObjectNameCollision(metadataObjects[i].Name);
                    }
                }

                i++;
            }

            return(metadataObjects);
        }