Catrobat.IDE.Core.Xml.XmlObjects.XmlProgram.LoadFromXml C# (CSharp) Method

LoadFromXml() protected final method

protected final LoadFromXml ( string xml ) : void
xml string
return void
        protected override sealed void LoadFromXml(string xml)
        {
            var document = XDocument.Load(new StringReader(xml));
            document.Declaration = new XDeclaration("1.0", "UTF-8", "yes");

            XmlParserTempProjectHelper.Program = this;

           var project = document.Element(XmlConstants.Program);
            ProgramHeader = new XmlProjectHeader(project.Element(XmlConstants.Header));
            SpriteList = new XmlSpriteList(project.Element(XmlConstants.ObjectList));
            if(project.Element(XmlConstants.Variables) != null) //for <0.94
                VariableList = new XmlVariableList(project.Element(XmlConstants.Variables));
            else //for >=0.94 (the android team promised)
                VariableList = new XmlVariableList(project.Element(XmlConstants.Data));

            LoadReference();
            LoadBroadcastMessages();

            foreach (var a in VariableList.ObjectVariableList.ObjectVariableEntries)
            {
                a.Sprite.Variables = a.VariableList;
            }
        }