ReadElementString() private method

private ReadElementString ( ) : string
return string
示例#1
0
        public override void ReadXml(System.Xml.XmlReader reader)
        {
            if (reader.Name.Equals("Type"))
            {
                BusType = (EosBusType)Enum.Parse(typeof(EosBusType), reader.ReadElementString("Type"));
            }
            string port = reader.ReadElementString("Port");

            if (!reader.IsEmptyElement)
            {
                reader.ReadStartElement("Boards");
                while (reader.NodeType != XmlNodeType.EndElement)
                {
                    reader.ReadStartElement("Board");
                    string   name    = reader.ReadElementString("Name");
                    byte     address = byte.Parse(reader.ReadElementString("Address"), System.Globalization.CultureInfo.InvariantCulture);
                    EosBoard board   = new EosBoard(this, address, name);
                    board.ReadXml(reader);
                    reader.ReadEndElement();
                    _boards.Add(board);
                }
                reader.ReadEndElement();
            }
            else
            {
                reader.Read();
            }

            Port = port;
        }
        protected override System.IdentityModel.Tokens.SecurityToken ReadTokenCore( XmlReader reader, SecurityTokenResolver tokenResolver )
        {
            if ( reader == null )
                throw new ArgumentNullException( "reader" );

            if ( reader.IsStartElement( Constants.UsernameTokenName, Constants.UsernameTokenNamespace ) )
            {
                //string id = reader.GetAttribute( Constants.IdAttributeName, Constants.WsUtilityNamespace );

                reader.ReadStartElement();

                // read the user name
                string userName = reader.ReadElementString( Constants.UsernameElementName, Constants.UsernameTokenNamespace );

                // read the password hash
                string password = reader.ReadElementString( Constants.PasswordElementName, Constants.UsernameTokenNamespace );

                // read nonce
                string nonce = reader.ReadElementString( Constants.NonceElementName, Constants.UsernameTokenNamespace );

                // read created
                string created = reader.ReadElementString( Constants.CreatedElementName, Constants.WsUtilityNamespace );

                reader.ReadEndElement();

                var info = new Info( userName, password );

                return new SecurityToken( info, nonce, created );
            }

            return DefaultInstance.ReadToken( reader, tokenResolver );
        }
        protected virtual void ReadXml(XmlReader reader, SyndicationFeed result)
        {
            if (result == null)
                throw new ArgumentNullException("result");
            else if (reader == null)
                throw new ArgumentNullException("reader");

            reader.ReadStartElement();              // Read in <RDF>
            reader.ReadStartElement("channel");     // Read in <channel>
            while (reader.IsStartElement())         // Process <channel> children
            {
                if (reader.IsStartElement("title"))
                    result.Title = new TextSyndicationContent(reader.ReadElementString());
                else if (reader.IsStartElement("link"))
                    result.Links.Add(new SyndicationLink(new Uri(reader.ReadElementString())));
                else if (reader.IsStartElement("description"))
                    result.Description = new TextSyndicationContent(reader.ReadElementString());
                else
                    reader.Skip();
            }
            reader.ReadEndElement();                // Read in </channel>

            while (reader.IsStartElement())
            {
                if (reader.IsStartElement("item"))
                {
                    result.Items = this.ReadItems(reader, result);

                    break;
                }
                else
                    reader.Skip();
            }
        }
        protected override SecurityToken ReadTokenCore(XmlReader reader, SecurityTokenResolver tokenResolver)
        {

            if (reader == null) throw new ArgumentNullException("reader");

            if (reader.IsStartElement(Constants.CreditCardTokenName, Constants.CreditCardTokenNamespace))
            {
                string id = reader.GetAttribute(Constants.Id, Constants.WsUtilityNamespace);

                reader.ReadStartElement();

                // read the credit card number
                string creditCardNumber = reader.ReadElementString(Constants.CreditCardNumberElementName, Constants.CreditCardTokenNamespace);

                // read the expiration date
                string expirationTimeString = reader.ReadElementString(Constants.CreditCardExpirationElementName, Constants.CreditCardTokenNamespace);
                DateTime expirationTime = XmlConvert.ToDateTime(expirationTimeString, XmlDateTimeSerializationMode.Utc);

                // read the issuer of the credit card
                string creditCardIssuer = reader.ReadElementString(Constants.CreditCardIssuerElementName, Constants.CreditCardTokenNamespace);
                reader.ReadEndElement();

                CreditCardInfo cardInfo = new CreditCardInfo(creditCardNumber, creditCardIssuer, expirationTime);

                return new CreditCardToken(cardInfo, id);
            }
            else
            {
                return WSSecurityTokenSerializer.DefaultInstance.ReadToken(reader, tokenResolver);
            }
        }
        public void ReadXml(XmlReader reader)
        {
            // Start to use the reader.
            reader.Read();
            // Read the first element ie root of this object
            reader.ReadStartElement("dictionary");

            // Read all elements
            while (reader.NodeType != XmlNodeType.EndElement)
            {
                // parsing the item
                reader.ReadStartElement("item");

                // PArsing the key and value
                string key = reader.ReadElementString("key");
                string value = reader.ReadElementString("value");

                // en reading the item.
                reader.ReadEndElement();
                reader.MoveToContent();

                // add the item
                Add(key, value);
            }

            // Extremely important to read the node to its end.
            // next call of the reader methods will crash if not called.
            reader.ReadEndElement();
        }
示例#6
0
 /// <summary>
 /// Creates a new Status class using the XmlReade instance provided.
 /// </summary>
 /// <param name="reader">The XmlReader instance positioned at the Status node.</param>
 /// <param name="schemaVersion">The version of the schema that was used to validate.</param>
 public StatusElement(XmlReader reader, XacmlVersion schemaVersion)
     : base(XacmlSchema.Context, schemaVersion)
 {
     if (reader == null) throw new ArgumentNullException("reader");
     if (reader.LocalName != Consts.ContextSchema.StatusElement.Status) return;
     while (reader.Read())
     {
         switch (reader.LocalName)
         {
             case Consts.ContextSchema.StatusElement.StatusCode:
                 StatusCode = new StatusCodeElement(reader, schemaVersion);
                 break;
             case Consts.ContextSchema.StatusElement.StatusMessage:
                 _statusMessage = reader.ReadElementString();
                 break;
             case Consts.ContextSchema.StatusElement.StatusDetail:
                 _statusDetail = reader.ReadElementString();
                 break;
         }
         if (reader.LocalName == Consts.ContextSchema.StatusElement.Status &&
             reader.NodeType == XmlNodeType.EndElement)
         {
             break;
         }
     }
 }
 /** Constructor from xml file */
 public BulletPoint(XmlReader r)
 {
     r.ReadStartElement("BulletPoint");
     mName = r.ReadElementString("Name");
     mString = r.ReadElementString("String");
     mIsRegEx = XmlConvert.ToBoolean(r.ReadElementString("IsRegEx"));
     mWrapIsAtRight = XmlConvert.ToBoolean(r.ReadElementString("WrapIsAtRight"));
     r.ReadEndElement();
 }
 /** Constructor from xml file */
 public BreakFlowString(XmlReader r)
 {
     r.ReadStartElement("BreakFlowString");
     mName = r.ReadElementString("Name");
     mString = r.ReadElementString("String");
     mIsRegEx = XmlConvert.ToBoolean(r.ReadElementString("IsRegEx"));
     mNeverReflowLine = XmlConvert.ToBoolean(r.ReadElementString("NeverReflowLine"));
     mNeverReflowIntoNextLine = XmlConvert.ToBoolean(r.ReadElementString("NeverReflowIntoNextLine"));
     r.ReadEndElement();
 }
示例#9
0
 internal MegaComment(XmlReader rdr)
 {
     rdr.ReadStartElement("mega_comment");
     this.Id = rdr.ReadElementContentAsInt("id", "");
     this.Comment = rdr.ReadElementString("comment");
     this.User = rdr.ReadElementString("user");
     this.CreatedAt = rdr.ReadElementString("created_at").FromBatchBookFormat2();
     this.RecordId = int.Parse(rdr.ReadElementString("record_id"));
     rdr.ReadEndElement();
 }
示例#10
0
 internal Communication(XmlReader rdr)
 {
     rdr.ReadStartElement("communication");
     this.Id = rdr.ReadElementContentAsInt("id", "");
     this.Subject = rdr.ReadElementString("subject");
     this.Body = rdr.ReadElementString("body");
     this.Date = rdr.ReadElementContentAsDateTime("date", "ctype");
     this.Ctype = rdr.ReadElementString("");
     this.Tags = Tag.BuildList(rdr);
     this.Comments = MegaComment.BuildList(rdr);
     this.CreateAt = rdr.ReadElementContentAsDateTime("created_at", "");
     this.UpdatedAt = rdr.ReadElementContentAsDateTime("updated_at", "");
     rdr.ReadEndElement();
 }
 /// <summary>
 /// Generates an object from its XML representation.
 /// </summary>
 /// <param name="reader">The <see cref="T:System.Xml.XmlReader"></see> stream from which the object is deserialized.</param>
 void IXmlSerializable.ReadXml(XmlReader reader)
 {
     reader.Read();
       reader.ReadStartElement("dictionary");
       while (reader.NodeType != XmlNodeType.EndElement) {
     reader.ReadStartElement("item");
     string key = reader.ReadElementString("key");
     string value = reader.ReadElementString("value");
     reader.ReadEndElement();
     reader.MoveToContent();
     this.Add(key, value);
       }
       reader.ReadEndElement();
 }
示例#12
0
 internal Company(XmlReader rdr)
 {
     rdr.ReadStartElement("company");
     this.Id = rdr.ReadElementContentAsInt("id", "");
     this.Name = rdr.ReadElementString("name");
     this.Notes = rdr.ReadElementString("notes");
     //Skipping Images
     rdr.ReadToFollowing("tags");
     this.Tags = Tag.BuildList(rdr);
     this.Locations = Location.BuildList(rdr);
     this.Comments = MegaComment.BuildList(rdr);
     this.CreatedAt = rdr.ReadElementString("created_at").FromBatchBookFormat();
     this.UpdatedAt = rdr.ReadElementString("updated_at").FromBatchBookFormat();
     rdr.ReadEndElement();
 }
示例#13
0
        public void ReadXml(System.Xml.XmlReader reader)
        {
            reader.MoveToContent();
            reader.ReadStartElement();

            this.UniqueID = (uint)reader.ReadElementContentAsInt("UniqueID", "");
            this.Name     = reader.ReadElementString("Name", "");

            this.MaxSize      = reader.ReadElementContentAsFloat("MaxSize", "");
            this.Lod1Distance = reader.ReadElementContentAsFloat("Lod1Distance", "");
            this.Lod2Distance = reader.ReadElementContentAsFloat("Lod2Distance", "");
            this.Shadows      = reader.ReadElementContentAsBoolean("Shadows", "");
            this.SoftShadows  = reader.ReadElementContentAsBoolean("SoftShadows", "");
            this.Bloom        = reader.ReadElementContentAsBoolean("Bloom", "");
            this.UseGraph     = reader.ReadElementContentAsBoolean("UseGraph", "");
            this.UseLods      = reader.ReadElementContentAsBoolean("UseLods", "");

            if (reader.Name == "Wind")
            {
                reader.ReadStartElement();
                Wind = new Vector2(reader.ReadElementContentAsFloat("X", ""),
                                   reader.ReadElementContentAsFloat("Y", ""));
                reader.ReadEndElement();
            }

            reader.ReadEndElement();
        }
示例#14
0
        public override void ReadXml(System.Xml.XmlReader reader)
        {
            int depth = reader.Depth;

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element)
                {
                    if (reader.Name == Sitemap.NODE_TITLE)
                    {
                        this.Title = reader.ReadElementString();
                    }
                    if (reader.Name == Sitemap.NODE_MODULE)
                    {
                        ModuleInfo moduleInfo = new ModuleInfo(this);
                        moduleInfo.ID          = reader["id"];
                        moduleInfo.ViewControl = reader["viewControl"];
                        moduleInfo.ReadXml(reader);

                        this.Add(moduleInfo);
                    }
                    if (reader.Name == Sitemap.NODE_INIT_PARAMS)
                    {
                        ReadInitParams(reader);
                    }
                }
                if (reader.Depth <= depth)
                {
                    return;
                }
            }
        }
示例#15
0
        public override void ReadXml(System.Xml.XmlReader reader)
        {
            reader.MoveToContent();
            reader.ReadStartElement();

            base.ReadXml(reader);
            Durability = reader.ReadElementContentAsInt("Durability", "");
            Damage     = reader.ReadElementContentAsInt("Damage", "");
            string s = reader.ReadElementString("Type", "");

            switch (s)
            {
            case "FISTS":
                Type = WeaponType.FISTS;
                break;

            case "LIGHT":
                Type = WeaponType.LIGHT;
                break;

            case "MEDIUM":
                Type = WeaponType.MEDIUM;
                break;

            case "HEAVY":
                Type = WeaponType.HEAVY;
                break;
            }

            reader.ReadEndElement();
        }
示例#16
0
        public void ReadXml(System.Xml.XmlReader reader)
        {
            reader.Read();
            reader.Read();
            request_templates.Clear();
            while (reader.Name.Equals("Request"))
            {
                request_templates.Add(reader.ReadElementString());
            }
            reader.Read();

            URL = reader.ReadElementString();
            SearchDateBeginInterval = Convert.ToInt32(reader.ReadElementString());
            SearchDateEndInterval   = Convert.ToInt32(reader.ReadElementString());
            ShowResponse            = Convert.ToBoolean(reader.ReadElementString());
        }
示例#17
0
        public override void ReadXml(System.Xml.XmlReader reader)
        {
            reader.MoveToContent();
            reader.ReadStartElement();

            base.ReadXml(reader);

            SunID        = (uint)reader.ReadElementContentAsInt("SunID", "");
            LightDayID   = (uint)reader.ReadElementContentAsInt("LightDayID", "");
            LightNightID = (uint)reader.ReadElementContentAsInt("LightNightID", "");

            if (reader.Name == "TextureNames")
            {
                TextureNames = new string[TEXTURE_COUNT];
                reader.ReadStartElement();
                for (int i = 0; i < TEXTURE_COUNT; ++i)
                {
                    TextureNames[i] = reader.ReadElementString("TextureName");
                }
                reader.ReadEndElement();
            }

            SunriseMinutes     = reader.ReadElementContentAsInt("SunriseMinutes", "");
            SunsetMinutes      = reader.ReadElementContentAsInt("SunsetMinutes", "");
            StateChangeMinutes = reader.ReadElementContentAsInt("StateChangeMinutes", "");
            HorizonOffset      = reader.ReadElementContentAsFloat("HorizonOffset", "");

            reader.ReadEndElement();
        }
示例#18
0
文件: Pitches.cs 项目: samgoat/NC
 public void ReadXml(XmlReader reader)
 {
     int sequenceCount = 0;
       bool isEmpty = reader.IsEmptyElement;
       reader.ReadStartElement();
       if (isEmpty)
     return;
       while (reader.NodeType == XmlNodeType.Element)
       {
     if (sequenceCount == 0 || reader.IsStartElement("title"))
     {
       PitchSequences.Add(new PitchSequence());
       sequenceCount++;
     }
     if (reader.IsStartElement("title"))
       PitchSequences[sequenceCount - 1].Title = reader.ReadElementString();
     else if (reader.IsStartElement("pitch"))
     {
       var pitch = new Pitch();
       pitch.ReadXml(reader);
       PitchSequences[sequenceCount - 1].Pitches.Add(pitch);
     }
     else
       reader.ReadOuterXml();
       }
       reader.ReadEndElement();
 }
示例#19
0
		public static Marker Read (XmlReader reader)
		{
			Marker result = new Marker ();
			result.Color = reader.GetAttribute ("color");
			result.Tag   = reader.ReadElementString ();
			return result;
		}
示例#20
0
        ICustomXmlSerializer ICustomXmlSerializer.ReadFrom(System.Xml.XmlReader reader)
        {
            storedVars = new List <string> ();

            reader.MoveToContent();
            if (reader.IsEmptyElement)
            {
                reader.Read();
                return(null);
            }
            reader.ReadStartElement();
            reader.MoveToContent();
            while (reader.NodeType != XmlNodeType.EndElement)
            {
                if (reader.NodeType == XmlNodeType.Element)
                {
                    storedVars.Add(reader.ReadElementString());
                }
                else
                {
                    reader.Skip();
                }
            }
            reader.ReadEndElement();
            return(null);
        }
 /// <summary>
 /// Creates a policy set id reference using the XmlReader instance provided.
 /// </summary>
 /// <param name="reader">The XmlReader instance positioned at the "PolicySetIdReference" 
 /// node</param>
 /// <param name="schemaVersion">The version of the schema that will be used to validate.</param>
 public PolicySetIdReferenceElementReadWrite(XmlReader reader, XacmlVersion schemaVersion)
     : base(XacmlSchema.Policy, schemaVersion)
 {
     if (reader == null) throw new ArgumentNullException("reader");
     if (reader.LocalName == Consts.Schema1.PolicySetIdReferenceElement.PolicySetIdReference &&
         ValidateSchema(reader, schemaVersion))
     {
         if (reader.HasAttributes)
         {
             // Load all the attributes
             while (reader.MoveToNextAttribute())
             {
                 if (reader.LocalName == Consts.Schema2.PolicyReferenceElement.Version)
                 {
                     _version = reader.GetAttribute(Consts.Schema2.PolicyReferenceElement.Version);
                 }
                 else if (reader.LocalName == Consts.Schema2.PolicyReferenceElement.EarliestVersion)
                 {
                     _earliestVersion = reader.GetAttribute(Consts.Schema2.PolicyReferenceElement.EarliestVersion);
                 }
                 else if (reader.LocalName == Consts.Schema2.PolicyReferenceElement.LatestVersion)
                 {
                     _latestVersion = reader.GetAttribute(Consts.Schema2.PolicyReferenceElement.LatestVersion);
                 }
             }
             reader.MoveToElement();
         }
         _policySetIdReference = reader.ReadElementString();
     }
     else
     {
         throw new Exception(string.Format(Properties.Resource.exc_invalid_node_name, reader.LocalName));
     }
 }
示例#22
0
文件: Pitch.cs 项目: samgoat/NC
 public void ReadXml(XmlReader reader)
 {
     bool isEmpty = reader.IsEmptyElement;
       reader.ReadStartElement();
       if (isEmpty)
     return;
       while (reader.NodeType == XmlNodeType.Element)
       {
     if (reader.IsStartElement("name"))
       Name = reader.ReadElementString();
     else if (reader.IsStartElement("ladder"))
       Ladder.ReadXml(reader); // = Rope.FromXml(reader);
     else if (reader.IsStartElement("belay"))
       Belay.ReadXml(reader); // = Rope.FromXml(reader);
     else if (reader.IsStartElement("lifeline"))
       Lifeline.ReadXml(reader); // = Rope.FromXml(reader);
     else if (reader.IsStartElement("height"))
       Height = ReadXmlDouble(reader);
     else if (reader.IsStartElement("rope"))
       Rope.ReadXml(reader); // = Rope.FromXml(reader);
     else if (reader.IsStartElement("srtbelay"))
       SrtBelay = reader.ReadElementString();
     else
       reader.ReadOuterXml();
       }
       reader.ReadEndElement();
 }
示例#23
0
        public override void ReadXml(XmlReader reader)
        {
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element)
                {
                    if (reader.Name == NODE_ADMIN)
                    {
                        this.ID		= reader["id"];
                        this.Path	= reader["path"];

                        SitemapManager.GetInstance().SetSitemapByID(this);
                    }
                    if (reader.Name == NODE_TITLE)
                    {
                        this.Title	= reader.ReadElementString();
                    }
                    if (reader.Name == NODE_MODULE_GROUP)
                    {
                        ModuleGroup moduleGroup = new ModuleGroup(this);
                        moduleGroup.ID		= reader["id"];
                        moduleGroup.Path	= reader["path"];
                        moduleGroup.ReadXml(reader);

                        this.Add(moduleGroup);
                    }
                    if(reader.Name == NODE_INIT_PARAMS)
                        ReadInitParams( reader );
                }
                if(reader.Name==NODE_ADMIN &&
                    reader.NodeType==XmlNodeType.EndElement)
                    break;
            }
        }
 public override void ReadXml(XmlReader reader)
 {
     reader.ReadStartElement("RemovePortCommand", Context.YttriumNamespace);
     base.ReadXml(reader);
     _isolate = bool.Parse(reader.ReadElementString("Isolate"));
     reader.ReadEndElement();
 }
		private static void ValidateVersion(XmlReader reader)
		{
			var version = reader.ReadElementString();

			if (version != VERSION)
				throw new ApplicationException("Version of serialize data isn't correct.", new SerializationException());
		}
 public virtual void ReadXml(XmlReader reader)
 {
     reader.ReadStartElement("PortIndexCommand", Context.YttriumNamespace);
     _index = int.Parse(reader.ReadElementString("Index"));
     _portRef = CommandReference.Deserialize("Port", reader);
     reader.ReadEndElement();
 }
        private Effect EffectParameterDeserialization(System.Xml.XmlReader reader)
        {
            Effect         newEf = null;
            String         s;
            List <float>   array1 = new List <float>();
            List <Vector3> array2 = new List <Vector3>();

            reader.ReadStartElement();
            while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
            {
                if (reader.Name == "Name")
                {
                    s = reader.ReadElementString("Name", "");
                    switch (s)
                    {
                    case "World":
                        newEf.Parameters["World"].SetValue(this.MyObject.MyTransform.GetWorldMatrix());
                        s = reader.ReadElementString("Value", "");
                        break;

                    case "WorldViewProj":
                        break;

                    case "WorldInverseTranspose":
                        break;

                    default:
                        if (reader.Name == "Values")
                        {
                            reader.ReadStartElement();
                            while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                            {
                            }
                            reader.ReadEndElement();
                        }
                        else
                        {
                            newEf.Parameters[s].SetValue(reader.ReadElementString("Value", ""));
                        }
                        break;
                    }
                }
            }
            reader.ReadEndElement();
            return(newEf);
        }
		/// <summary>Reads the card from an xml writer.</summary>
		/// <remarks>
		/// Uses the string parse function of card.
		/// </remarks>
		/// <param name="reader">An xml reader.</param>
		void IXmlSerializable.ReadXml(XmlReader reader)
		{
			var s = reader.ReadElementString();
			var val = Parse(s);
			token0 = val.token0;
			token1 = val.token1;
			token2 = val.token2;
		}
 public void ReadXml(XmlReader reader)
 {
     reader.Read();
     while (reader.NodeType != XmlNodeType.EndElement)
     {
         reader.ReadStartElement("window");
         var name = reader.ReadElementString("name");
         var state =
             (FormWindowState) TypeDescriptor.GetConverter(typeof (FormWindowState))
                                   .ConvertFromString(reader.ReadElementString("state"));
         var rect =
             (Rectangle) TypeDescriptor.GetConverter(typeof (Rectangle))
                             .ConvertFromString(reader.ReadElementString("position"));
         reader.ReadEndElement();
         Add(name, new WindowPosition(rect, state));
     }
     reader.ReadEndElement();
 }
		public static Match Read (XmlReader reader)
		{
			string color   = reader.GetAttribute ("color");
			string pattern = reader.ReadElementString ();
			Match result   = pattern == "CSharpNumber" ? new CSharpNumberMatch () : new Match ();
			result.Color   = color;
			result.Pattern = "^" + pattern;
			result.regex   = new System.Text.RegularExpressions.Regex (result.Pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase);
			return result;
		}
 public bool Load(XmlReader xr)
 {
     try
     {
         xr.ReadStartElement("ComPortSettings");
             comname = xr.ReadElementString("PortName");
             speed = int.Parse(xr.ReadElementString("Speed"));
             parity = (Parity)Enum.Parse(typeof(Parity), xr.ReadElementString("Parity"));
             stopbits = (StopBits)Enum.Parse(typeof(StopBits), xr.ReadElementString("Stopbits"));
             handshake = (Handshake)Enum.Parse(typeof(Handshake), xr.ReadElementString("Handshake"));
             xr.ReadEndElement();
         return true;
     }
     catch (Exception ex)
     {
         DebugLogger.Instance().LogRecord(ex.Message);
         return false;
     }
 }
示例#32
0
        public void ReadXml(System.Xml.XmlReader reader)
        {
            // Start to use the reader.
            reader.Read();
            // Read the first element ie root of this object
            reader.ReadStartElement("dictionary");

            // Read all elements
            while (reader.NodeType != XmlNodeType.EndElement)
            {
                // parsing the item
                reader.ReadStartElement("item");

                // PArsing the key and value
                string key = reader.ReadElementString("key");
                //Read the value
                string sType = reader.GetAttribute("type");
                if (sType == null)
                {
                    string value = reader.ReadElementString("value");
                    // add the item
                    this.Add(key, value);
                }
                else
                {
                    reader.ReadStartElement("value");
                    Type          valuetype = Type.GetType(sType);
                    XmlSerializer xs        = new XmlSerializer(valuetype);
                    this.Add(key, xs.Deserialize(reader));
                    reader.ReadEndElement();
                    reader.ReadEndElement();
                }

                // en reading the item.
                reader.ReadEndElement();
                reader.MoveToContent();
            }

            // Extremely important to read the node to its end.
            // next call of the reader methods will crash if not called.
            reader.ReadEndElement();
        }
 public void ReadXml(XmlReader reader)
 {
     if (!reader.IsEmptyElement)
     {
         this._dateTime = DateTime.Parse(reader.ReadElementString());
     }
     else
     {
         this._dateTime = Empty;
     }
 }
        public void ReadXml(System.Xml.XmlReader reader)
        {
            reader.Read();
            reader.ReadStartElement("dictionary");

            while (reader.NodeType != XmlNodeType.EndElement)
            {
                reader.ReadStartElement("item");

                string key   = reader.ReadElementString("key");
                string value = reader.ReadElementString("value");

                reader.ReadEndElement();
                reader.MoveToContent();

                this.Add(key, value);
            }

            reader.ReadEndElement();
        }
示例#35
0
        public void ReadXml(XmlReader reader)
        {
            if (reader == null)
                throw new ArgumentNullException(nameof(reader));

            reader.ReadStartElement();

            Document = reader.ReadElementString(nameof(Document));

            reader.ReadEndElement();
        }
        public byte[] MyOneWayOperation(WsWsaHeader header, XmlReader reader)
        {
            reader.ReadStartElement("MyOneWayRequest", this.ServiceNamespace.NamespaceURI);

            // Extract parameter A from SOAP message body
            string str = reader.ReadElementString("A", this.ServiceNamespace.NamespaceURI);
            int a = Convert.ToInt32(str);

            Debug.Print("MyOneWayOperation with A=" + a + " executed.");
            return null; // No response it is a one-way operation
        }
示例#37
0
        private static VectorValue <TScalar> InnerDeserialize(Context context, System.Xml.XmlReader reader)
        {
            int cnt = int.Parse(reader.ReadElementString("Count"));

            TScalar[] values = new TScalar[cnt];
            for (int i = 0; i < cnt; i++)
            {
                values[i] = (TScalar)ValueStructure.Deserialize(context, reader);
            }
            return(new VectorValue <TScalar>(values));
        }
        internal static void ParseFaultResponseAndThrow(XmlReader reader)
        {
            String code = String.Empty;
            String subcode = String.Empty;
            String reason = String.Empty;
            String details = String.Empty;

            try
            {
                reader.ReadStartElement("Fault", WsWellKnownUri.SoapNamespaceUri);

                reader.ReadStartElement("Code", WsWellKnownUri.SoapNamespaceUri);

                code = reader.ReadElementString("Value", WsWellKnownUri.SoapNamespaceUri);

                if (reader.IsStartElement("Subcode", WsWellKnownUri.SoapNamespaceUri))
                {
                    reader.Read(); //StartElement Subcode
                    subcode = reader.ReadElementString("Value", WsWellKnownUri.SoapNamespaceUri);
                    reader.ReadEndElement(); // Subcode
                }

                reader.ReadEndElement(); // Code

                reader.ReadStartElement("Reason", WsWellKnownUri.SoapNamespaceUri);
                reason = reader.ReadElementString("Text", WsWellKnownUri.SoapNamespaceUri);
                reader.ReadEndElement(); // Reason;

                if (reader.ReadToNextSibling("Details", WsWellKnownUri.SoapNamespaceUri))
                {
                    details = reader.ReadElementString("Details", WsWellKnownUri.SoapNamespaceUri);
                }
            }
            catch
            {
                //We'll swallow all exception, and just make do with what we have
            }

            throw new Exception("A fault is generated.\r\nCode: " + code + "\r\nSubcode: " + subcode +
                "\r\nReason: " + reason + "\r\nDetail: " + details);
        }
示例#39
0
        public void ReadXml(System.Xml.XmlReader reader)
        {
            //reader.MoveToContent();
            //reader.ReadStartElement();

            base.ReadXml(reader);
            //Name = reader.ReadElementString("Name", "");
            //MyEffect = ResourceManager.Instance.LoadEffect(reader.ReadElementString("EffectPath", ""));

            if (reader.Name == "CubeMaps")
            {
                reader.ReadStartElement();
                CubeMap  = ResourceManager.Instance.LoadTextureCube(reader.ReadElementString("CubeMap", ""));
                CubeMap1 = ResourceManager.Instance.LoadTextureCube(reader.ReadElementString("CubeMap1", ""));
                CubeMap2 = ResourceManager.Instance.LoadTextureCube(reader.ReadElementString("CubeMap2", ""));
                CubeMap3 = ResourceManager.Instance.LoadTextureCube(reader.ReadElementString("CubeMap3", ""));
                reader.ReadEndElement();
            }

            if (reader.Name == "Probes")
            {
                reader.ReadStartElement();
                Probes = new Vector4(reader.ReadElementContentAsFloat("X", ""),
                                     reader.ReadElementContentAsFloat("Y", ""),
                                     reader.ReadElementContentAsFloat("Z", ""),
                                     reader.ReadElementContentAsFloat("W", ""));
                reader.ReadEndElement();
            }

            //reader.ReadStartElement("SpecularColor");
            //SpecularColor = new Vector3(reader.ReadElementContentAsFloat("X", ""),
            //                               reader.ReadElementContentAsFloat("Y", ""),
            //                               reader.ReadElementContentAsFloat("Z", ""));
            //reader.ReadEndElement();

            //Glossiness = reader.ReadElementContentAsFloat("Glossiness", "");

            AssignParamsInitialize();

            //reader.ReadEndElement();
        }
 void IXmlSerializable.ReadXml(XmlReader reader)
 {
     reader.MoveToContent();
     reader.Read();
     this.Value = XmlConvert.ToInt32(reader.ReadElementString(nameof(this.Value)));
     if (reader.NodeType != XmlNodeType.EndElement)
     {
         throw new InvalidOperationException();
     }
     reader.Read();
     reader.Read(); // reading once outside the lement
 }
示例#41
0
		public static DocConfig Read (XmlReader reader)
		{
			DocConfig result = new DocConfig ();
			XmlReadHelper.ReadList (reader, "DocFood", delegate () {
				switch (reader.LocalName) {
				case "WordLists":
					XmlReadHelper.ReadList (reader, reader.LocalName, delegate () {
						switch (reader.LocalName) {
						case "List":
							string name = reader.GetAttribute ("name");
							List<string> words = new List<string> ();
							XmlReadHelper.ReadList (reader, reader.LocalName, delegate () {
								switch (reader.LocalName) {
								case "Word":
									words.Add (reader.ReadElementString ());
									return true;
								}
								return false;
							});
							result.WordLists[name] = words;
							return true;
						}
						return false;
					});
					return true;
				case "WordExpansion":
					XmlReadHelper.ReadList (reader, reader.LocalName, delegate () {
						switch (reader.LocalName) {
						case "Word":
							result.WordExpansions[reader.GetAttribute ("from")] = reader.GetAttribute ("to");
							return true;
						}
						return false;
					});
					return true;
				case "Macros":
					XmlReadHelper.ReadList (reader, reader.LocalName, delegate () {
						switch (reader.LocalName) {
						case "Macro":
							result.Macros[reader.GetAttribute ("tag")] = reader.GetAttribute ("value");
							return true;
						}
						return false;
					});
					return true;
				case "Rules":
					result.Rules = Node.ReadNodeList (reader, "Rules");
					return true;
				}
				return false;
			});
			return result;
		}
 public void ReadXml(XmlReader i_Reader)
 {
     i_Reader.ReadStartElement();
     /* XML specification forces newline to be '\n'.
      * This means that when reading the template the newlines might not be the same as the current environment.
      * We need to normalize the newlines in order for Windows' and Mac's text boxes to work.
      * See: http://www.w3.org/TR/2008/REC-xml-20081126/#sec-line-ends
      */
     string templateString = i_Reader.ReadElementString("StatusTextTemplate").Replace("\n", Environment.NewLine);
     parseWithExistingTemplate(this, templateString);
     i_Reader.ReadEndElement();
 }
示例#43
0
        public override void ReadXml(System.Xml.XmlReader reader)
        {
            reader.MoveToContent();
            reader.ReadStartElement();

            base.ReadXml(reader);
            //MyObject = ResourceManager.Instance.CurrentScene.GetObject(tmp);

            if (reader.Name == "Acceleration")
            {
                reader.ReadStartElement();
                acceleration = new Vector3(reader.ReadElementContentAsFloat("X", ""),
                                           reader.ReadElementContentAsFloat("Y", ""),
                                           reader.ReadElementContentAsFloat("Z", ""));
                reader.ReadEndElement();
            }

            Mass           = reader.ReadElementContentAsFloat("Mass", "");
            DragFactor     = reader.ReadElementContentAsFloat("DragFactor", "");
            IsUsingGravity = reader.ReadElementContentAsBoolean("IsUsingGravity", "");

            if (reader.Name == "Velocity")
            {
                reader.ReadStartElement();
                Velocity = new Vector3(reader.ReadElementContentAsFloat("X", ""),
                                       reader.ReadElementContentAsFloat("Y", ""),
                                       reader.ReadElementContentAsFloat("Z", ""));
                reader.ReadEndElement();
            }

            RotationConstraints = (RotationConstraintsEnum)Enum.Parse(typeof(RotationConstraintsEnum),
                                                                      reader.ReadElementString("RotationConstraints", ""));
            PositionConstraints = (PositionConstraintsEnum)Enum.Parse(typeof(PositionConstraintsEnum),
                                                                      reader.ReadElementString("PositionConstraints", ""));

            reader.ReadEndElement();
        }
示例#44
0
        public override void ReadXml(System.Xml.XmlReader reader)
        {
            reader.MoveToContent();
            reader.ReadStartElement();

            base.ReadXml(reader);

            if (reader.Name == "Material")
            {
                if (!TrashSoupGame.Instance.EditorMode)
                {
                    contentPath = "../../../../TrashSoupContent/Materials/";
                }
                else
                {
                    contentPath = "../../../TrashSoup/TrashSoupContent/Materials/";
                }
                reader.ReadStartElement();
                while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                {
                    if (reader.Name == "Name")
                    {
                        String newName = reader.ReadElementString("Name", "");

                        Material      m          = new SkyboxMaterial();
                        XmlSerializer serializer = new XmlSerializer(typeof(Material));
                        using (FileStream file = new FileStream(contentPath + newName + ".xml", FileMode.Open))
                        {
                            m      = (Material)serializer.Deserialize(file);
                            m.Name = newName;
                        }

                        Mat = m;
                    }
                }

                reader.ReadEndElement();
            }

            if (reader.Name == "Size")
            {
                reader.ReadStartElement();
                Size = new Vector2(reader.ReadElementContentAsFloat("X", ""),
                                   reader.ReadElementContentAsFloat("Y", ""));
                reader.ReadEndElement();
            }

            reader.ReadEndElement();
        }
示例#45
0
            public void ReadXml(System.Xml.XmlReader reader)
            {
                var localName = reader.Name;

                while (reader.Read())
                {
readagain:
                    if (reader.Name == "string" && reader.NodeType == XmlNodeType.Element)
                    {
                        strings.Add(reader.ReadElementString());
                        goto readagain;
                    }
                    if (reader.Name == "big-decimal" && reader.NodeType == XmlNodeType.Element)
                    {
                        numbers.Add(decimal.Parse(reader.ReadElementString()));
                        goto readagain;
                    }
                    if (reader.Name == localName && reader.NodeType == XmlNodeType.EndElement)
                    {
                        reader.Read();
                        break;
                    }
                }
            }
示例#46
0
        public void ReadXml(System.Xml.XmlReader reader)
        {
            //  Loop over the XML file
            while (reader.Read())
            {
                //  Here we check the type of the node, in this case we are looking for element
                if (reader.IsStartElement() && reader.NodeType == XmlNodeType.Element)
                {
                    //  If the element is "profile"
                    if (reader.Name == "Key")
                    {
                        Key = reader.ReadElementString("Key");
                        continue;
                    }
                    //  If the element is "profile"
                    if (reader.Name == "ParentNodeKey")
                    {
                        ParentNodeKey = reader.ReadElementString("ParentNodeKey");
                        continue;
                    }

                    ////  If the element is "profile"
                    //if (reader.Name == "TreeContainer")
                    //{
                    //    var otherSer = new XmlSerializer(typeof(TreeContainer));
                    //    var other = (TreeContainer)otherSer.Deserialize(reader);
                    //}

                    //  If the element is "profile"
                    if (reader.Name == "ChildNodes")
                    {
                        var childNodeId    = reader.GetAttribute("Id");
                        var childNodeCount = reader.GetAttribute("count").To <int>(0);

                        var otherSer = new XmlSerializer(typeof(TreeContainer));

                        for (int i = 0; i < childNodeCount; i++)
                        {
                            reader.Read();

                            if (reader.IsStartElement() && reader.NodeType == XmlNodeType.Element && reader.Name == "TreeContainer")
                            {
                                var other = (TreeContainer)otherSer.Deserialize(reader);
                                ChildNodes.Add(other);

                                reader.ReadEndElement();
                            }
                        }

                        //var counter = 0;
                        //while (counter<childNodeCount && reader.Read())
                        //{
                        //    if (reader.IsStartElement() && reader.NodeType == XmlNodeType.Element && reader.Name == "TreeContainer")
                        //    {
                        //        var other = (TreeContainer)otherSer.Deserialize(reader);
                        //        ChildNodes.Add(other);
                        //        counter++;
                        //    }
                        //}
                    }

                    //  If the element is "profile"
                    if (reader.Name == "Items")
                    {
                        var itemCount = reader.GetAttribute("count").To <int>(0);

                        var otherSer = new XmlSerializer(typeof(TreeItem));

                        var counter = 0;

                        while (counter < itemCount && reader.Read())
                        {
                            if (reader.IsStartElement() && reader.NodeType == XmlNodeType.Element && reader.Name == "TreeItem")
                            {
                                var other = (TreeItem)otherSer.Deserialize(reader);
                                Items.Add(other);

                                counter++;
                            }
                        }
                    }
                }
            }
        }
示例#47
0
        public static int Leer()
        {
            //pone los valores por defecto a las variables
            latitud      = 0;
            longitud     = 0;
            segundos     = 5;
            minutos      = 50;
            gps          = "GPS";
            avisoauto    = false;
            avisomapa    = false;
            avisomapaurl = true;
            avisoheight  = 475;
            avisowidth   = 450;
            avisotop     = 0;
            avisoleft    = 0;
            port         = "NONE";
            speed        = "NONE";
            usuario      = "nombre_usuario";
            clave        = " ";
            //averigua el idioma del usuario
            //System.Threading.Thread tt = System.Threading.Thread.CurrentThread;   //PDA
            //System.Globalization.CultureInfo actual = tt.CurrentCulture;          //PDA

            string actual = System.Globalization.CultureInfo.CurrentCulture.Name;

            if (actual.Substring(0, 2) == "es")
            {
                idioma = "ES";
            }
            else
            {
                idioma = "EN";
            }
            sonido     = "ringin.wav";
            explorador = "hipoqih";
            //primero hay que leer configuracion del XML
            System.Xml.XmlReaderSettings settings = new System.Xml.XmlReaderSettings();
            try
            {
                string tmp       = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;                // PDA
                string strAppDir = tmp.Substring(1, tmp.Length - 11);                                                   //le quito \\plugin.exe       // PDA
                using (System.Xml.XmlReader reader = System.Xml.XmlReader.Create(strAppDir + "\\config.xml", settings)) //PDA
                {
                    // Read XML data.
                    reader.ReadStartElement("config");
                    System.Globalization.NumberFormatInfo nfi = new System.Globalization.CultureInfo("en-US", false).NumberFormat;
                    latitud      = double.Parse(reader.ReadElementString("lat"), nfi);
                    longitud     = double.Parse(reader.ReadElementString("lon"), nfi);
                    segundos     = int.Parse(reader.ReadElementString("tick"));
                    minutos      = int.Parse(reader.ReadElementString("tack"));
                    gps          = reader.ReadElementString("gps");
                    avisoauto    = bool.Parse(reader.ReadElementString("auto"));
                    avisomapa    = bool.Parse(reader.ReadElementString("map"));
                    avisomapaurl = bool.Parse(reader.ReadElementString("mapurl"));
                    avisowidth   = int.Parse(reader.ReadElementString("width"));
                    avisoheight  = int.Parse(reader.ReadElementString("height"));
                    avisotop     = int.Parse(reader.ReadElementString("top"));
                    avisoleft    = int.Parse(reader.ReadElementString("left"));
                    port         = reader.ReadElementString("port");
                    speed        = reader.ReadElementString("speed");
                    usuario      = reader.ReadElementString("user");
                    clave        = reader.ReadElementString("pass");
                    idioma       = reader.ReadElementString("lang");
                    sonido       = reader.ReadElementString("song");
                    explorador   = reader.ReadElementString("explorer");
                }
                //ok
                return(0);
            }
            catch
            {
                //si da algun error intenta crear los datos que faltan
                Grabar();
                //se creo de nuevo...
                return(1);
            }
        }
示例#48
0
 /// <summary>
 /// Read xml
 /// </summary>
 /// <param name="reader">Reader</param>
 public void ReadXml(System.Xml.XmlReader reader)
 {
     value = reader.ReadElementString();
 }
        public void ReadXml(System.Xml.XmlReader reader)
        {
            reader.MoveToContent();
            reader.ReadStartElement();

            Name     = reader.ReadElementString("Name", "");
            MyEffect = ResourceManager.Instance.LoadEffect(reader.ReadElementString("EffectPath", ""));

            uint      normColor  = 0xFFFF0F0F;
            uint      blackColor = 0xFF000000;
            Texture2D defDiff    = null;

            if (!ResourceManager.Instance.Textures.TryGetValue("DefaultDiffuse", out defDiff))
            {
                defDiff = new Texture2D(TrashSoupGame.Instance.GraphicsDevice, 1, 1, false, SurfaceFormat.Color);
                defDiff.SetData <uint>(new uint[] { blackColor });
                ResourceManager.Instance.Textures.Add("DefaultDiffuse", defDiff);
            }
            Texture2D defNrm = null;

            if (!ResourceManager.Instance.Textures.TryGetValue("DefaultNormal", out defNrm))
            {
                defNrm = new Texture2D(TrashSoupGame.Instance.GraphicsDevice, 1, 1, false, SurfaceFormat.Color);
                defNrm.SetData <uint>(new uint[] { normColor });
                ResourceManager.Instance.Textures.Add("DefaultNormal", defNrm);
            }
            TextureCube defCbc = null;

            if (!ResourceManager.Instance.TexturesCube.TryGetValue("DefaultCube", out defCbc))
            {
                defCbc = new TextureCube(TrashSoupGame.Instance.GraphicsDevice, 1, false, SurfaceFormat.Color);
                defCbc.SetData <uint>(CubeMapFace.NegativeX, new uint[] { blackColor });
                defCbc.SetData <uint>(CubeMapFace.PositiveX, new uint[] { blackColor });
                defCbc.SetData <uint>(CubeMapFace.NegativeY, new uint[] { blackColor });
                defCbc.SetData <uint>(CubeMapFace.PositiveY, new uint[] { blackColor });
                defCbc.SetData <uint>(CubeMapFace.NegativeZ, new uint[] { blackColor });
                defCbc.SetData <uint>(CubeMapFace.PositiveZ, new uint[] { blackColor });
                ResourceManager.Instance.TexturesCube.Add("DefaultCube", defCbc);
            }

            DiffuseMap = ResourceManager.Instance.LoadTexture(reader.ReadElementString("DiffusePath", ""));
            if (reader.Name == "NormalPath")
            {
                NormalMap = ResourceManager.Instance.LoadTexture(reader.ReadElementString("NormalPath", ""));
            }
            if (reader.Name == "CubePath")
            {
                CubeMap = ResourceManager.Instance.LoadTextureCube(reader.ReadElementString("CubePath", ""));
            }

            reader.ReadStartElement("DiffuseColor");
            DiffuseColor = new Vector3(reader.ReadElementContentAsFloat("X", ""),
                                       reader.ReadElementContentAsFloat("Y", ""),
                                       reader.ReadElementContentAsFloat("Z", ""));
            reader.ReadEndElement();

            reader.ReadStartElement("SpecularColor");
            SpecularColor = new Vector3(reader.ReadElementContentAsFloat("X", ""),
                                        reader.ReadElementContentAsFloat("Y", ""),
                                        reader.ReadElementContentAsFloat("Z", ""));
            reader.ReadEndElement();

            Glossiness = reader.ReadElementContentAsFloat("Glossiness", "");

            reader.ReadStartElement("ReflectivityColor");
            ReflectivityColor = new Vector3(reader.ReadElementContentAsFloat("X", ""),
                                            reader.ReadElementContentAsFloat("Y", ""),
                                            reader.ReadElementContentAsFloat("Z", ""));
            reader.ReadEndElement();

            ReflectivityBias = reader.ReadElementContentAsFloat("ReflectivityBias", "");
            Transparency     = reader.ReadElementContentAsFloat("Transparency", "");
            PerPixelLighting = reader.ReadElementContentAsBoolean("PerPixelLighting", "");
            RecieveShadows   = reader.ReadElementContentAsBoolean("ReceiveShadows", "");
            Unlit            = reader.ReadElementContentAsBoolean("Unlit", "");

            AssignParamsInitialize();

            if (this.GetType() == typeof(Material))
            {
                reader.ReadEndElement();
            }
        }
    public void ReadXml(System.Xml.XmlReader reader)
    {
        reader.MoveToContent();
        reader.ReadStartElement();
        inputController       = System.Type.GetType(reader.ReadElementString("inputController"));
        inputControllerBackup = System.Type.GetType(reader.ReadElementString("inputControllerBackup"));
        xResolution           = System.Convert.ToInt32(reader.ReadElementString("xResolution"));
        yResolution           = System.Convert.ToInt32(reader.ReadElementString("yResolution"));
        fullscreen            = System.Convert.ToBoolean(reader.ReadElementString("fullscreen"));

        showDebug        = System.Convert.ToBoolean(reader.ReadElementString("showDebug"));
        showConfigurator = System.Convert.ToBoolean(reader.ReadElementString("showConfigurator"));
        projectorBlend   = System.Convert.ToBoolean(reader.ReadElementString("projectorBlend"));
        brakeAxis        = reader.ReadElementString("brakeAxis");
        gasAxis          = reader.ReadElementString("gasAxis");
        minBrake         = System.Convert.ToInt32(reader.ReadElementString("minBrake"));
        maxBrake         = System.Convert.ToInt32(reader.ReadElementString("maxBrake"));
        minGas           = System.Convert.ToInt32(reader.ReadElementString("minGas"));
        maxGas           = System.Convert.ToInt32(reader.ReadElementString("maxGas"));
        FFBMultiplier    = System.Convert.ToSingle(reader.ReadElementString("FFBMultiplier"));
        reader.ReadEndElement();
    }
示例#51
0
        public void ReadXml(System.Xml.XmlReader reader)
        {
            reader.MoveToContent();
            reader.ReadStartElement();

            ResourceManager.Instance.CurrentScene.ObjectsDictionary = new Dictionary <uint, GameObject>();
            ResourceManager.Instance.CurrentScene.PointLights       = new List <LightPoint>();
            DirectionalLights = new LightDirectional[ResourceManager.DIRECTIONAL_MAX_LIGHTS];

            if (reader.Name == "SceneParams")
            {
                Params = new SceneParams(0, "null");
                (Params as IXmlSerializable).ReadXml(reader);
            }

            if (reader.Name == "AmbientLight")
            {
                AmbientLight = new LightAmbient(0, "null");
                (AmbientLight as IXmlSerializable).ReadXml(reader);
            }

            int ctr = 0;

            reader.ReadStartElement("DirectionalLights");
            while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
            {
                if (reader.Name == "DirectionalLight")
                {
                    reader.ReadStartElement();
                    if (reader.Name != "null")
                    {
                        LightDirectional obj = new LightDirectional(0, "");
                        (obj as IXmlSerializable).ReadXml(reader);
                        DirectionalLights[ctr] = obj;
                        ++ctr;
                    }
                    else
                    {
                        reader.ReadElementString("null", "");
                        reader.ReadEndElement();
                        ++ctr;
                    }
                }
            }
            reader.ReadEndElement();

            reader.ReadStartElement("PointLights");
            while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
            {
                if (reader.Name == "PointLight")
                {
                    reader.ReadStartElement();
                    LightPoint pl = new LightPoint(0, "");
                    ResourceManager.Instance.CurrentScene.PointLights.Add(pl);
                    (pl as IXmlSerializable).ReadXml(reader);

                    if (pl.CastShadows)
                    {
                        pl.SetupShadowRender();
                    }
                    reader.ReadEndElement();
                }
                else
                {
                    reader.ReadElementString("null", "");
                }
            }
            reader.ReadEndElement();

            reader.ReadStartElement("ObjectsDictionary");
            while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
            {
                if (reader.Name == "GameObject")
                {
                    reader.ReadStartElement();
                    GameObject obj = null;
                    uint       key = (uint)reader.ReadElementContentAsInt("GameObjectKey", "");
                    if (ResourceManager.Instance.CurrentScene.ObjectsDictionary.TryGetValue(key, out obj))
                    {
                        Debug.Log("GameObject successfully loaded - " + obj.Name);
                        GameObject tmp = null;
                        (tmp as IXmlSerializable).ReadXml(reader);
                    }
                    else
                    {
                        obj = new GameObject(0, "");
                        ResourceManager.Instance.CurrentScene.ObjectsDictionary.Add(key, obj);
                        (obj as IXmlSerializable).ReadXml(reader);
                        Debug.Log("New Gameobject successfully loaded - " + obj.Name);
                    }
                }
                reader.ReadEndElement();
            }
            reader.ReadEndElement();

            if (reader.Name == "Camera")
            {
                Cam = new Camera(0, "null", Vector3.Zero, Vector3.Zero, Vector3.Zero, Vector3.Zero, MathHelper.Pi / 3.0f, 1.0f, 0.1f, 2000.0f);
                reader.ReadStartElement();
                (Cam as IXmlSerializable).ReadXml(reader);
            }

            ObjectsDictionary = ResourceManager.Instance.CurrentScene.ObjectsDictionary;
            PointLights       = ResourceManager.Instance.CurrentScene.PointLights;

            reader.ReadEndElement();
        }
示例#52
0
 public override string ReadElementString()
 {
     CheckAsync();
     return(_coreReader.ReadElementString());
 }
        public override void ReadXml(System.Xml.XmlReader reader)
        {
            reader.MoveToContent();
            reader.ReadStartElement();

            base.ReadXml(reader);

            LODState = (LODStateEnum)Enum.Parse(typeof(LODStateEnum), reader.ReadElementString("LODState", ""));

            if (reader.Name == "LODs")
            {
                reader.ReadStartElement();
                int counter = 0;
                while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                {
                    String s = reader.ReadElementString("ModelPath", "");
                    Paths[counter] = s;
                    counter++;
                }
                reader.ReadEndElement();
            }

            for (int j = 0; j < Paths.Count(); ++j)
            {
                if (Paths[j] != "")
                {
                    LODs[j] = ResourceManager.Instance.LoadModel(Paths[j]);
                }
                else
                {
                    LODs[j] = LODs[0];
                }
            }

            if (reader.Name == "Materials")
            {
                if (!TrashSoupGame.Instance.EditorMode)
                {
                    contentPath = "../../../../TrashSoupContent/Materials/";
                }
                else
                {
                    contentPath = "../../../TrashSoup/TrashSoupContent/Materials/";
                }
                reader.ReadStartElement();
                while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                {
                    if (reader.Name == "Name")
                    {
                        String newName = reader.ReadElementString("Name", "");

                        if (newName == "testSBMat2")
                        {
                            SkyboxMaterial sm = new SkyboxMaterial();
                            sm = ResourceManager.Instance.LoadSkyboxMaterial(Path.GetFullPath(contentPath) + newName + ".xml");
                            Mat.Add(sm);
                        }
                        if (newName == "testWaterMat")
                        {
                            WaterMaterial wm = new WaterMaterial();
                            wm = ResourceManager.Instance.LoadWaterMaterial(Path.GetFullPath(contentPath) + newName + ".xml");
                            Mat.Add(wm);
                        }
                        if (newName == "testMirrorMat")
                        {
                            MirrorMaterial mm = new MirrorMaterial();
                            mm = ResourceManager.Instance.LoadMirrorMaterial(Path.GetFullPath(contentPath) + newName + ".xml");
                            Mat.Add(mm);
                        }
                        if (newName != "testSBMat2" && newName != "testWaterMat" && newName != "testMirrorMat")
                        {
                            Material m = new Material();
                            m = ResourceManager.Instance.LoadMaterial(Path.GetFullPath(contentPath) + newName + ".xml");
                            Mat.Add(m);
                        }
                    }
                }

                reader.ReadEndElement();
            }

            this.LodControlled = reader.ReadElementContentAsBoolean("LodControlled", "");
            //ResourceManager.Instance.LoadEffects(TrashSoupGame.Instance);
            reader.ReadEndElement();
        }
示例#54
0
        public void ReadXml(System.Xml.XmlReader reader)
        {
            if (!reader.IsEmptyElement)
            {
                reader.ReadStartElement("DigitalInputs");
                while (reader.NodeType != XmlNodeType.EndElement)
                {
                    byte            number = byte.Parse(reader.GetAttribute("Number"));
                    EosDigitalInput input  = new EosDigitalInput(this, number);
                    input.Name = reader.ReadElementString("DigitalInput");
                    _digitalInputs.Add(input);
                    _inputs.Add(input);
                }
                reader.ReadEndElement();
            }
            else
            {
                reader.Read();
            }
            DigitalInputCount = (byte)DigitalInputs.Count;

            if (!reader.IsEmptyElement)
            {
                reader.ReadStartElement("AnalogInputs");
                while (reader.NodeType != XmlNodeType.EndElement)
                {
                    byte           number = byte.Parse(reader.GetAttribute("Number"));
                    EosAnalogInput input  = new EosAnalogInput(this, number);
                    input.Name = reader.ReadElementString("AnalogInput");
                    _analogInputs.Add(input);
                    _inputs.Add(input);
                }
                reader.ReadEndElement();
            }
            else
            {
                reader.Read();
            }
            AnalogInputCount = (byte)AnalogInputs.Count;

            if (!reader.IsEmptyElement)
            {
                reader.ReadStartElement("LEDOutputs");
                while (reader.NodeType != XmlNodeType.EndElement)
                {
                    byte         number = byte.Parse(reader.GetAttribute("Number"));
                    EosLedOutput output = new EosLedOutput(this, number);
                    output.Name = reader.ReadElementString("LEDOutput");
                    _ledOutputs.Add(output);
                    _outputs.Add(output);
                }
                reader.ReadEndElement();
            }
            else
            {
                reader.Read();
            }
            LedOutputCount = (byte)LedOutputs.Count;

            if (!reader.IsEmptyElement)
            {
                reader.ReadStartElement("TextOutputs");
                while (reader.NodeType != XmlNodeType.EndElement)
                {
                    byte          number = byte.Parse(reader.GetAttribute("Number"));
                    EosTextOutput output = new EosTextOutput(this, number);
                    output.Name = reader.ReadElementString("TextOutput");
                    _textOutputs.Add(output);
                    _outputs.Add(output);
                }
                reader.ReadEndElement();
            }
            else
            {
                reader.Read();
            }
            TextOutputCount = (byte)_textOutputs.Count;

            if (!reader.IsEmptyElement)
            {
                reader.ReadStartElement("ServoOutputs");
                while (reader.NodeType != XmlNodeType.EndElement)
                {
                    byte     number = byte.Parse(reader.GetAttribute("Number"));
                    EosServo output = new EosServo(this, number);
                    output.Name = reader.GetAttribute("Name");
                    // TODO: Deprectated fix for bad element name... remove after 1.6
                    if (reader.Name.Equals("ServerOutput"))
                    {
                        reader.ReadStartElement("ServerOutput");
                    }
                    else
                    {
                        reader.ReadStartElement("ServoOutput");
                    }
                    output.Calibration.Read(reader);
                    reader.ReadEndElement();
                    _servoOutputs.Add(output);
                    _outputs.Add(output);
                }
                reader.ReadEndElement();
            }
            else
            {
                reader.Read();
            }
            ServoOutputCount = (byte)ServoOutputs.Count;

            if (!reader.IsEmptyElement)
            {
                reader.ReadStartElement("StepperOutputs");
                while (reader.NodeType != XmlNodeType.EndElement)
                {
                    byte       number = byte.Parse(reader.GetAttribute("Number"));
                    EosStepper output = new EosStepper(this, number);
                    output.Name = reader.GetAttribute("Name");
                    reader.ReadStartElement("StepperOutput");
                    output.Calibration.Read(reader);
                    reader.ReadEndElement();
                    _stepperOutputs.Add(output);
                    _outputs.Add(output);
                }
                reader.ReadEndElement();
            }
            else
            {
                reader.Read();
            }
            StepperOutputCount = (byte)StepperOutputs.Count;

            if (reader.Name.Equals("CoilOutputs"))
            {
                if (!reader.IsEmptyElement)
                {
                    reader.ReadStartElement("CoilOutputs");
                    while (reader.NodeType != XmlNodeType.EndElement)
                    {
                        byte          number = byte.Parse(reader.GetAttribute("Number"));
                        EosCoilOutput output = new EosCoilOutput(this, number);
                        output.Name = reader.GetAttribute("Name");
                        reader.ReadStartElement("CoilOutput");
                        output.Calibration.Read(reader);
                        reader.ReadEndElement();
                        _coilOutputs.Add(output);
                        _outputs.Add(output);
                    }
                    reader.ReadEndElement();
                }
                else
                {
                    reader.Read();
                }
            }
            CoilOutputCount = (byte)CoilOutputs.Count;
        }
示例#55
0
 private static RationalValue InnerDeserialize(Context context, System.Xml.XmlReader reader)
 {
     return(new RationalValue(long.Parse(reader.ReadElementString("Numerator"), Context.NumberFormat),
                              long.Parse(reader.ReadElementString("Denominator"), Context.NumberFormat)));
 }
        public void ReadXml(System.Xml.XmlReader reader)
        {
            reader.MoveToContent();
            //reader.ReadStartElement();

            UniqueID = (uint)reader.ReadElementContentAsInt("UniqueID", "");
            Name     = reader.ReadElementString("Name", "");
            DrawLast = reader.ReadElementContentAsBoolean("DrawLast", "");

            if (reader.Name == "Tags")
            {
                reader.ReadStartElement();
                Tags = new List <string>();
                while (reader.NodeType != XmlNodeType.EndElement)
                {
                    string s = reader.ReadElementString("Tag", "");
                    if (s != "null")
                    {
                        Tags.Add(s);
                    }
                }
                reader.ReadEndElement();
            }
            Dynamic = reader.ReadElementContentAsBoolean("Dynamic", "");

            if (reader.Name == "MyTransform")
            {
                MyTransform = new Transform(this);
                (MyTransform as IXmlSerializable).ReadXml(reader);
            }

            if (reader.Name == "MyPhysicalObject")
            {
                MyPhysicalObject = new PhysicalObject(this);
                (MyPhysicalObject as IXmlSerializable).ReadXml(reader);
            }

            //if (reader.Name == "MyCollider")
            //{
            //    reader.ReadStartElement();
            //    String s = reader.ReadElementString("Type", "");
            //    switch(s)
            //    {
            //        case "TrashSoup.Engine.BoxCollider":
            //            MyCollider = new BoxCollider(this);
            //            break;
            //        case "TrashSoup.Engine.SphereCollider":
            //            MyCollider = new SphereCollider(this);
            //            break;
            //        default:
            //            MyCollider = new Collider(this);
            //            break;
            //    }
            //    (MyCollider as IXmlSerializable).ReadXml(reader);
            //    reader.ReadEndElement();
            //}

            if (reader.Name == "MyAnimator")
            {
                reader.ReadStartElement();
                Model  baseAnim     = null;
                string baseAnimPath = reader.ReadElementString("BaseAnim", "");
                if (!ResourceManager.Instance.Models.TryGetValue(baseAnimPath, out baseAnim))
                {
                    baseAnim = ResourceManager.Instance.LoadModel(baseAnimPath);
                }
                MyAnimator = new Animator(this, ResourceManager.Instance.Models[baseAnimPath]);
                (MyAnimator as IXmlSerializable).ReadXml(reader);
                //MyAnimator.MyObject = ResourceManager.Instance.CurrentScene.GetObject(MyAnimator.tmp);
                while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                {
                    String s = reader.ReadElementString("AnimatorClip", "");
                    MyAnimator.AddAnimationClip(ResourceManager.Instance.LoadAnimationFromModel(
                                                    ResourceManager.Instance.Models[baseAnimPath],
                                                    ResourceManager.Instance.LoadAnimation(s),
                                                    s
                                                    ));
                    //MyAnimator.animationPlayers.Add(s, new SkinningModelLibrary.AnimationPlayer(MyAnimator.SkinningData, s));
                }
                reader.ReadEndElement();
            }

            if (reader.Name == "Components")
            {
                List <object> parameters = new List <object>();
                parameters.Add(this);
                reader.MoveToContent();
                reader.ReadStartElement();
                while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                {
                    Object obj = Activator.CreateInstance(Type.GetType(reader.Name), parameters.ToArray());
                    (obj as IXmlSerializable).ReadXml(reader);
                    Components.Add((ObjectComponent)obj);
                }
            }
            if (reader.NodeType == System.Xml.XmlNodeType.EndElement)
            {
                reader.ReadEndElement();
            }

            if (reader.Name == "MyCollider")
            {
                reader.ReadStartElement();
                String s = reader.ReadElementString("Type", "");
                switch (s)
                {
                //commented because Collider system will be changed
                case "TrashSoup.Engine.BoxCollider":
                    MyCollider = new BoxCollider(this);
                    break;

                case "TrashSoup.Engine.SphereCollider":
                    MyCollider = new SphereCollider(this);
                    break;

                default:
                    //MyCollider = new Collider(this);
                    break;
                }
                (MyCollider as IXmlSerializable).ReadXml(reader);
                reader.ReadEndElement();
            }

            //this.Initialize();

            //reader.ReadEndElement();
        }
示例#57
0
 private static ComplexValue InnerDeserialize(Context context, System.Xml.XmlReader reader)
 {
     return(new ComplexValue(double.Parse(reader.ReadElementString("Real"), Context.NumberFormat),
                             double.Parse(reader.ReadElementString("Imag"), Context.NumberFormat)));
 }