ReadToNextSibling() public method

public ReadToNextSibling ( string name ) : bool
name string
return bool
Example #1
0
        private void ExtractDefinitions(XmlReader reader, ResultFile trx)
        {
            if (reader.ReadToFollowing("TestDefinitions"))
            {
                if (reader.ReadToDescendant("UnitTest"))
                {
                    do
                    {
                        var testId = Guid.Parse(reader.GetAttribute("id"));
                        var tempResult = trx.Results.First(result => result.TestId == testId);
                        tempResult.Storage = reader.GetAttribute("storage");

                        if (reader.ReadToFollowing("TestMethod"))
                        {
                            tempResult.CodeBase = reader.GetAttribute("codeBase");
                            tempResult.AdapterTypeName = reader.GetAttribute("adapterTypeName");
                            tempResult.ClassName = reader.GetAttribute("className");
                        }

                        reader.ReadToNextSibling("UnitTest");
                    }
                    while (reader.ReadToNextSibling("UnitTest"));
                }
            }
        }
		private void readItems(XmlReader reader) {
			reader.ReadToFollowing ("ItemDatabase");
			bool continueReading = reader.ReadToDescendant ("Item");

			while (continueReading) {
				//Read all information from the .xml-file
				reader.ReadToDescendant ("Id");
				int id = reader.ReadElementContentAsInt ();
				reader.ReadToNextSibling ("Name");
				string name = reader.ReadElementContentAsString ();
				reader.ReadToNextSibling ("Description");
				string desc = reader.ReadElementContentAsString ();
				reader.ReadToNextSibling ("Value");
				int value = reader.ReadElementContentAsInt ();
				reader.ReadToNextSibling ("Type");
				string type = reader.ReadElementContentAsString ();
				ItemType t = type.StringToType ();

				//And add the item to the database
				Item i = new Item (name, desc, value, t, id);

				//check for attributes and add them to the item
				checkForAttributes(reader, i);

				//Add the item to the databse and read end element
				items.Add(i);
				reader.ReadEndElement ();
				//Check if there is another item to read
				continueReading = reader.ReadToNextSibling ("Item");
			}
		}
Example #3
0
        public virtual void ReadXml(System.Xml.XmlReader reader)
        {
            if (reader.ReadToDescendant("ContainerElement") == false)
            {
                throw new MyException("could not find the start of element ContainerElement");
            }

            int depth = reader.Depth;

            reader.ReadToDescendant("xx1:containee");
            reader.ReadToNextSibling("xx2", "Containee2");
            reader.ReadToNextSibling("Containee3");

            // moved to closing ContainerElement
            while (reader.Depth > depth && reader.Read())
            {
            }
            int       counter      = 0;
            const int NODES_AT_END = 1;

            while (reader.Read())
            {
                counter++;
            }
            if (counter != NODES_AT_END)
            {
                throw new MyException(String.Format("expected {0} nodes, but found {1}", NODES_AT_END, counter));
            }
        }
Example #4
0
File: Udc.cs Project: burstas/rmps
        public bool FromXml(XmlReader reader)
        {
            if (reader == null || reader.Name != "Udc")
            {
                return false;
            }

            if (reader.Name == "Order" || reader.ReadToDescendant("Order"))
            {
                Order = reader.ReadElementContentAsInt();
            }
            if (reader.Name == "Id" || reader.ReadToNextSibling("Id"))
            {
                Id = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Name" || reader.ReadToNextSibling("Name"))
            {
                Name = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Tips" || reader.ReadToNextSibling("Tips"))
            {
                Tips = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Data" || reader.ReadToNextSibling("Data"))
            {
                Data = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Memo" || reader.ReadToNextSibling("Memo"))
            {
                Data = reader.ReadElementContentAsString();
            }
            return true;
        }
Example #5
0
File: MRen.cs Project: burstas/rmps
        public bool FromXml(XmlReader reader)
        {
            if (reader == null || reader.Name != "Ren" || !reader.IsStartElement())
            {
                return false;
            }

            if (reader.Name == "Order" || reader.ReadToDescendant("Order"))
            {
                Order = reader.ReadElementContentAsInt();
            }
            if (reader.Name == "Id" || reader.ReadToNextSibling("Id"))
            {
                Id = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Name" || reader.ReadToNextSibling("Name"))
            {
                Name = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Command" || reader.ReadToNextSibling("Command"))
            {
                Command = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Remark" || reader.ReadToNextSibling("Remark"))
            {
                Remark = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Ren" && reader.NodeType == XmlNodeType.EndElement)
            {
                reader.ReadEndElement();
            }
            return true;
        }
		private void checkForAttributes(XmlReader reader, Item i) {
			bool attributePresent = reader.ReadToNextSibling ("Attribute");
			int vit = 0, inte = 0, str = 0;

			while (attributePresent) {
				switch (reader.GetAttribute ("Type")) {
				case "Stacksize":
					i.maxStackSize = reader.ReadElementContentAsInt ();
					Debug.Log ("Set max stacksize of " + i.ItemName + " to " + i.maxStackSize);
					break;
				case "Vitality":
					vit = reader.ReadElementContentAsInt ();
					break;
				case "Intellect":
					inte = reader.ReadElementContentAsInt ();
					break;
				case "Strength":
					str = reader.ReadElementContentAsInt ();
					break;
				default:
					Debug.LogAssertion ("Found an unknown attribute while importing items: " + reader.GetAttribute ("Type"));
					break;
				}
				attributePresent = reader.ReadToNextSibling ("Attribute");
			}

			//i.AssignAttributes (inte, str, vit);
		}
Example #7
0
 /// <summary>
 /// Generate object from its XML representation</summary>
 /// <param name="reader">XmlReader stream from which object is deserialized</param>
 public void ReadXml(System.Xml.XmlReader reader)
 {
     reader.Read();
     if (reader.LocalName == this.GetType().Name || reader.LocalName == "MultiContent") // MultiContent is old name and is used here for compatibility with old saved layouts
     {
         String      selectedUcid = reader.GetAttribute("SelectedUID");
         DockContent found        = null;
         reader.ReadStartElement();
         if (reader.LocalName == "Content")
         {
             do
             {
                 String      ucid    = reader.GetAttribute("UCID");
                 DockContent content = Root.GetContent(ucid);
                 if (content != null)
                 {
                     AddOneItem(null, content);
                     if (selectedUcid == ucid)
                     {
                         found = content;
                     }
                 }
             } while (reader.ReadToNextSibling("Content"));
             if (found != null)
             {
                 SelectedItem = found;
             }
         }
         reader.ReadEndElement();
     }
 }
Example #8
0
 void createPlayer(XmlReader reader)
 {
     Vector2 pos = Vector2.Zero;
     TextureMap t = new TextureMap();
     while (reader.Read())
     {
         if (reader.NodeType == XmlNodeType.Element)
         {
             switch (reader.Name)
             {
                 case "position":
                     {
                         reader.ReadToDescendant("x");
                         float x = (float)float.Parse((reader.GetAttribute(0)));
                         reader.ReadToNextSibling("y");
                         float y = (float)float.Parse((reader.GetAttribute(0)));
                         pos = new Vector2(x, y);
                     }
                     break;
                 default:
                     int o = 0;//fer teh deboog
                     break;
             }
         }
     }
     Player p = new Player(pos, t);
 }
 private void ParseBlock(ref List<MemoryBlock> list, ref XmlReader reader)
 {
     MemoryBlock MemBlock = new MemoryBlock();
     reader.ReadToFollowing("m_block_base_addr");
     MemBlock.BlockAddress = (UInt64)reader.ReadElementContentAs(typeof(UInt64), null);
     reader.ReadToNextSibling("protection");
     MemBlock.BlockProtection = (UInt32)reader.ReadElementContentAs(typeof(UInt32), null);
     reader.ReadToNextSibling("m_size");
     MemBlock.BlockSize = (UInt64)reader.ReadElementContentAs(typeof(UInt64), null);
     reader.ReadToNextSibling("m_storage_type");
     MemBlock.BlockStorageType = (UInt32)reader.ReadElementContentAs(typeof(UInt32), null);
     reader.ReadToNextSibling("m_is_shared");
     MemBlock.IsShared = (Boolean)reader.ReadElementContentAs(typeof(Boolean), null);
     reader.ReadToNextSibling("m_map_file_name");
     MemBlock.MappedFileName = (String)reader.ReadElementContentAs(typeof(String), null);
     list.Add(MemBlock);
 }
Example #10
0
		public string FromXmlReader (XmlReader reader)
		{
			if (!reader.ReadToDescendant ("head"))
				return null;
			if (!reader.ReadToNextSibling ("body"))
				return null;

			return reader.ReadInnerXml ();
		}
        //Attempt to read batch.xml to load previous settings
        //If anything goes wrong, just start without any preloaded settings
        public void ReadXml(XmlReader reader)
        {
            try
            {
                FileDescs = new Dictionary<string, FbxFileDesc>();

                reader.ReadToFollowing("BatchConversion");

                reader.ReadToDescendant("Output");
                OutputDir = reader.ReadElementContentAsString();

                while (reader.LocalName == "FbxFile")
                {
                    var newFile = new FbxFileDesc();

                    reader.ReadToDescendant("Filename");
                    var newFilename = reader.ReadElementContentAsString();

                    if (reader.LocalName != "CollisionGeneration")
                        reader.ReadToNextSibling("CollisionGeneration");

                    newFile.CollisionType = reader.ReadElementContentAsString();

                    while (reader.LocalName == "AnimClip")
                    {
                        var newClip = new AnimationClipDesc();

                        reader.ReadToDescendant("Name");
                        var newClipName = reader.ReadElementContentAsString();

                        if (reader.LocalName != "Keyframes")
                        reader.ReadToNextSibling("Keyframes");

                        newClip.BeginFrame = double.Parse(reader.GetAttribute("Begin"));
                        newClip.EndFrame = double.Parse(reader.GetAttribute("End"));
                        newClip.Fps = double.Parse(reader.GetAttribute("FPS"));

                        reader.Read();
                        reader.ReadEndElement();

                        newFile.AnimationClips.Add(newClipName, newClip);
                    }

                    reader.ReadEndElement();
                    FileDescs.Add(newFilename, newFile);
                }
            }
            catch (Exception)
            {
                MessageBox.Show(ParentWindow, "Unable to read batch.xml, starting with a clean slate...",
                                "Error", MessageBoxButton.OK,
                                MessageBoxImage.Error);
                FileDescs = new Dictionary<string, FbxFileDesc>();
                OutputDir = "";
            }
        }
 // workaround for possible xml reader bug. See http://support.microsoft.com/kb/906724
 protected static bool ReadToNextSibling(XmlReader r, string name)
 {
     if (r.ReadState == ReadState.Initial)
     {
         r.Read();
         if (r.IsStartElement(name))
             return true;
     }
     return r.ReadToNextSibling(name);
 }
 public void ReadXml(XmlReader reader)
 {
     do
     {
         reader.ReadStartElement("LogProperty");
         LogDetailInfo logDetail = new LogDetailInfo();
         logDetail.ReadXml(reader);
         this.Add(logDetail);
     } while (reader.ReadToNextSibling("LogProperty"));
 }
Example #14
0
    public static List<SAMAlignedItem> ReadFrom(XmlReader source)
    {
      var result = new List<SAMAlignedItem>();

      source.ReadToFollowing("queries");
      if (source.ReadToDescendant("query"))
      {
        do
        {
          var query = new SAMAlignedItem();
          result.Add(query);

          query.Qname = source.GetAttribute("name");
          query.Sequence = source.GetAttribute("sequence");
          query.QueryCount = int.Parse(source.GetAttribute("count"));
          query.Sample = source.GetAttribute("sample");
          if (source.ReadToDescendant("location"))
          {
            do
            {
              var loc = new SAMAlignedLocation(query);

              loc.Seqname = source.GetAttribute("seqname");
              loc.Start = long.Parse(source.GetAttribute("start"));
              loc.End = long.Parse(source.GetAttribute("end"));
              loc.Strand = source.GetAttribute("strand")[0];
              loc.Cigar = source.GetAttribute("cigar");
              loc.AlignmentScore = int.Parse(source.GetAttribute("score"));
              loc.MismatchPositions = source.GetAttribute("mdz");
              loc.NumberOfMismatch = int.Parse(source.GetAttribute("nmi"));
              var nnmpattr = source.GetAttribute("nnpm");
              if (nnmpattr != null)
              {
                loc.NumberOfNoPenaltyMutation = int.Parse(nnmpattr);
              }
            } while (source.ReadToNextSibling("location"));
          }
        } while (source.ReadToNextSibling("query"));
      }

      return result;
    }
        protected string getFunctionDocAndExample(XmlReader reader)
        {
            //assumes doc is before example. Otherwise, could miss an example.
            string strRes = "";
            bool bFound = reader.ReadToDescendant("doc");
            if (bFound) strRes += (unencodeXml(reader.ReadString()));
            bFound = reader.ReadToNextSibling("example");
            if (bFound) strRes += ("\r\n\r\nExample:\r\n" + unencodeXml(reader.ReadString()));

            reader.Close();
            return strRes;
        }
Example #16
0
        public override bool FromXml(XmlReader reader)
        {
            if (reader == null || reader.Name != "Item")
            {
                return false;
            }
            reader.ReadStartElement();

            if (reader.Name == "Order" || reader.ReadToNextSibling("Order"))
            {
                Order = reader.ReadElementContentAsInt();
            }
            if (reader.Name == "Id" || reader.ReadToNextSibling("Id"))
            {
                Id = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Type" || reader.ReadToNextSibling("Type"))
            {
                Type = reader.ReadElementContentAsInt();
            }
            if (reader.Name == "Name" || reader.ReadToNextSibling("Name"))
            {
                Name = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Text" || reader.ReadToNextSibling("Text"))
            {
                Text = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Data" || reader.ReadToNextSibling("Data"))
            {
                Data = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Memo" || reader.ReadToNextSibling("Memo"))
            {
                Memo = reader.ReadElementContentAsString();
            }

            reader.ReadEndElement();
            return true;
        }
        /// <summary>
        /// Parses an XML plugin, calling the corresponding method in
        /// IPluginVisitor for each XML tag it encounters.
        /// </summary>
        /// <param name="reader">The XmlReader to read the plugin XML from.</param>
        /// <param name="visitor">The IPluginVisitor to call for each XML tag.</param>
        public static void LoadPlugin(XmlReader reader, IPluginVisitor visitor)
        {
            if (!reader.ReadToNextSibling("plugin"))
                throw new ArgumentException("The XML file is missing a <plugin> tag.");

            var baseSize = 0;
            if (reader.MoveToAttribute("baseSize"))
                baseSize = ParseInt(reader.Value);

            if (!visitor.EnterPlugin(baseSize)) return;
            ReadElements(reader, true, visitor);
            visitor.LeavePlugin();
        }
Example #18
0
File: Dir.cs Project: burstas/rmps
        public override bool FromXml(XmlReader reader)
        {
            if (reader == null || reader.Name != "Dir" || !reader.IsStartElement())
            {
                return false;
            }

            if (reader.Name == "Order" || reader.ReadToDescendant("Order"))
            {
                Order = reader.ReadElementContentAsInt();
            }
            if (reader.Name == "Id" || reader.ReadToNextSibling("Id"))
            {
                Id = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Text" || reader.ReadToNextSibling("Text"))
            {
                Text = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Tips" || reader.ReadToNextSibling("Tips"))
            {
                Tips = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Path" || reader.ReadToNextSibling("Path"))
            {
                Path = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Memo" || reader.ReadToNextSibling("Memo"))
            {
                Memo = reader.ReadElementContentAsString();
            }

            if (reader.Name == "Dir" && reader.NodeType == XmlNodeType.EndElement)
            {
                reader.ReadEndElement();
            }
            return true;
        }
        /// <summary>
        /// Parses an XML plugin into a <see cref="TagLayout"/>.
        /// </summary>
        /// <param name="reader">The XmlReader to read the plugin XML from.</param>
        /// <param name="name">The name to give the resulting layout.</param>
        /// <param name="groupTag">The group tag to give to the resulting layout.</param>
        /// <returns>The results from loading the plugin.</returns>
        public static AssemblyPluginLoadResults LoadPlugin(XmlReader reader, string name, Tag groupTag)
        {
            if (!reader.ReadToNextSibling("plugin"))
                throw new ArgumentException("The XML file is missing a <plugin> tag.");

            int baseSize = 0;
            if (reader.MoveToAttribute("baseSize"))
                baseSize = ParseInt(reader.Value);

            var loader = new AssemblyPluginLoader(null);
            loader._results.Layout = new TagLayout(name, (uint)baseSize, groupTag);
            loader.ReadElements(reader, true);
            return loader._results;
        }
 //! Parse group tag.
 private void ParseTag(XmlReader Xml, Dictionary<CharacterGroup, CharacterPartItem[]> Definition)
 {
     // Move to first child
     if (!Xml.ReadToDescendant("group"))
         throw new XmlException("Cannot find element 'group' - " + Xml.Name);
     do
     {
         // Make new character part list
         var character_parts = new List<CharacterPartItem>();
         // Get group type
         CharacterGroup group = (CharacterGroup)Convert.ToUInt16(Xml.GetAttribute("id"));
         // Get items
         Xml.ReadToDescendant("item");
         ushort type = 0;
         do
         {
             character_parts.Add(
                 new CharacterPartItem((CharacterType)type++, Xml.GetAttribute("prefab"))
             );
         } while (Xml.ReadToNextSibling("item"));
         // Add new group
         Definition[group] = character_parts.ToArray();
     } while (Xml.ReadToNextSibling("group"));
 }
        public static void Deserialize(IDictionary<string, string> i_Dictionary, XmlReader i_Reader)
        {
            i_Dictionary.Clear();
            i_Reader.ReadStartElement("Shortcuts");

            while (i_Reader.Name == "Shortcut")
            {
                string from = i_Reader.GetAttribute("from");
                string to = i_Reader.GetAttribute("to");
                i_Dictionary.Add(from, to);
                i_Reader.ReadToNextSibling("Shortcut");
            }

            i_Reader.ReadEndElement();
        }
        /// <summary>
        /// Parses an XML plugin, calling the corresponding method in
        /// IPluginVisitor for each XML tag it encounters.
        /// </summary>
        /// <param name="reader">The XmlReader to read the plugin XML from.</param>
        /// <param name="visitor">The IPluginVisitor to call for each XML tag.</param>
        public static void LoadPlugin(XmlReader reader, IPluginVisitor visitor)
        {
            if (!reader.ReadToNextSibling("plugin"))
                throw new ArgumentException("The XML file is missing a <plugin> tag.");

            if (!reader.MoveToAttribute("baseSize"))
                throw new ArgumentException("The <plugin> tag is missing the baseSize attribute." + PositionInfo(reader));

            int baseSize = ParseInt(reader.Value);
            if (visitor.EnterPlugin(baseSize))
            {
                ReadElements(reader, true, visitor);
                visitor.LeavePlugin();
            }
        }
        /// <summary>
        /// Parses an XML plugin, calling the corresponding method in
        /// IPluginVisitor for each XML tag it encounters.
        /// </summary>
        /// <param name="reader">The XmlReader to read the plugin XML from.</param>
        /// <param name="visitor">The IPluginVisitor to call for each XML tag.</param>
        public static void LoadPlugin(XmlReader reader, IPluginVisitor visitor)
        {
            if (!reader.ReadToNextSibling("plugin"))
                throw new ArgumentException("The XML file is missing a <plugin> tag.");

            if (!reader.MoveToAttribute("headersize") && !reader.MoveToAttribute("baseSize"))
                throw new ArgumentException("The plugin is missing tag size information.");
            int baseSize = ParseInt(reader.Value);

            if (visitor.EnterPlugin(baseSize))
            {
                UniversalPluginLoader loader = new UniversalPluginLoader();
                loader.ReadElements(reader, true, visitor);
                visitor.LeavePlugin();
            }
        }
Example #24
0
        public void ReadXml(XmlReader reader)
        {
            do
            {
                reader.ReadStartElement("LogProperty");

                //Create new LogDetailInfo object
                var logDetail = new LogDetailInfo();

                //Load it from the Xml
                logDetail.ReadXml(reader);

                //Add to the collection
                Add(logDetail);

            } while (reader.ReadToNextSibling("LogProperty"));
        }
        /// <summary>
        /// Generates a collection from its XML representation.
        /// </summary>
        /// <param name="reader">System.Xml.XmlReader</param>
        public void ReadXml(XmlReader reader)
        {
            this.Clear();
              if (reader.ReadToDescendant("SerializableStringDictionary"))
              {
              if (reader.ReadToDescendant("DictionaryEntry"))
              {
                  do
                  {
                      reader.MoveToAttribute("Key");
                      string key = reader.ReadContentAsString();
                      reader.MoveToAttribute("Value");
                      string value = reader.ReadContentAsString();

                      this.Add(key, value);

                  } while (reader.ReadToNextSibling("DictionaryEntry"));
              }
              }
        }
        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);
        }
Example #27
0
			public static VerificationData FromFile (string name, XmlReader r)
			{
				VerificationData tc = new VerificationData (name);
				ArrayList methods = new ArrayList ();
				r.Read ();
				while (r.ReadToNextSibling ("type")) {
					string type_name = r ["name"];
					r.Read ();
					while (r.ReadToNextSibling ("method")) {
						string m_name = r ["name"];
						int method_attrs = int.Parse (r["attrs"]);

						r.ReadToDescendant ("size");
						int il_size = r.ReadElementContentAsInt ();
						methods.Add (new MethodData (type_name, m_name, method_attrs, il_size));
						r.Read ();
					}
					r.Read ();
				}

				tc.methods = methods;
				return tc;
			}
Example #28
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// Reads a Module Definitions from an XmlReader
        /// </summary>
        /// <param name="reader">The XmlReader to use</param>
        /// <history>
        /// 	[cnurse]	01/17/2008   Created
        /// </history>
        /// -----------------------------------------------------------------------------
        private void ReadModuleDefinitions(XmlReader reader)
        {
            reader.ReadStartElement("moduleDefinitions");
            do
            {
                reader.ReadStartElement("moduleDefinition");

				//Create new ModuleDefinition object
                var moduleDefinition = new ModuleDefinitionInfo();

				//Load it from the Xml
                moduleDefinition.ReadXml(reader);

				//Add to the collection
                ModuleDefinitions.Add(moduleDefinition.FriendlyName, moduleDefinition);
            } while (reader.ReadToNextSibling("moduleDefinition"));
		}
Example #29
0
 /// -----------------------------------------------------------------------------
 /// <summary>
 /// Reads a Supported Features from an XmlReader
 /// </summary>
 /// <param name="reader">The XmlReader to use</param>
 /// <history>
 /// 	[cnurse]	01/17/2008   Created
 /// </history>
 /// -----------------------------------------------------------------------------
 private void ReadSupportedFeatures(XmlReader reader)
 {
     SupportedFeatures = 0;
     reader.ReadStartElement("supportedFeatures");
     do
     {
         if (reader.HasAttributes)
         {
             reader.MoveToFirstAttribute();
             switch (reader.ReadContentAsString())
             {
                 case "Portable":
                     IsPortable = true;
                     break;
                 case "Searchable":
                     IsSearchable = true;
                     break;
                 case "Upgradeable":
                     IsUpgradeable = true;
                     break;
             }
         }
     } while (reader.ReadToNextSibling("supportedFeature"));
 }
        private static Array DeserializeArray(XmlReader xmlReader, Type type)
        {
            if (xmlReader.Name != "array")
            {
                throw new FormatException("Expected an array element");
            }

            Type elementType = type.GetElementType();
            var result = new List<object>();

            if (xmlReader.ReadToDescendant("property"))
            {
                do
                {
                    xmlReader.Read();
                    object value = Deserialize(xmlReader, elementType);
                    result.Add(value);
                } while (xmlReader.ReadToNextSibling("property"));
            }

            xmlReader.ReadEndElement();

            Array array = Array.CreateInstance(elementType, result.Count);

            for (int i = 0; i < result.Count; i++)
            {
                object item = result[i];
                array.SetValue(item, i);
            }

            return array;
        }
        private static object Deserialize(XmlReader xmlReader, Type type)
        {
            if (xmlReader.Name == "null" || xmlReader.Name == "undefined")
            {
                xmlReader.Read();
                return null;
            }

            if (type.IsPrimitive || type == typeof (string) || type == typeof (DateTime))
            {
                return DeserializePrimitive(xmlReader, type);
            }

            if (type == typeof (byte[]))
            {
                return DeserializeByteArray(xmlReader);
            }

            if (type.IsArray)
            {
                return DeserializeArray(xmlReader, type);
            }

            object result;

            if (ObjectSerializationMode == ObjectSerializationModeEnum.FlashXml)
            {
                if (xmlReader.Name != "object")
                {
                    throw new FormatException("Expected an object element");
                }

                result = Activator.CreateInstance(type);

                if (xmlReader.ReadToDescendant("property"))
                {
                    do
                    {
                        if (!xmlReader.MoveToAttribute("id"))
                        {
                            throw new FormatException("Expected an id attribute");
                        }

                        string propertyName = xmlReader.Value;
                        PropertyInfo property = type.GetProperty(propertyName);
                        xmlReader.Read();
                        object value = Deserialize(xmlReader, property.PropertyType);
                        property.SetValue(result, value, null);
                    } while (xmlReader.ReadToNextSibling("property"));
                }

                xmlReader.ReadEndElement();
            }
            else
            {
                if (xmlReader.Name != "string")
                {
                    throw new FormatException("Expected a string element containing JSON data");
                }

                var jsonData = (string)DeserializePrimitive(xmlReader, typeof (string));

                using (var sr = new StringReader(jsonData))
                {
                    using (var jr = new JsonReader(sr))
                    {
                        var ser = JsonUtils.NewFlashJsonSerializer();
                        result = ser.Deserialize(jr, type);
                    }
                }
            }

            return result;
        }
Example #32
0
        protected override Object AnalysisData(System.Xml.XmlReader reader)
        {
            PlayInfos = new Dictionary <int, PlayInfo>(6);

            double totalDuraiton = 0;

            if (reader.ReadToFollowing("channel"))
            {
                totalDuraiton = double.Parse(reader["dur"]);
                while (reader.Read())
                {
                    if (reader.Name == "file" &&
                        reader.NodeType == XmlNodeType.Element)
                    {
                        reader.Read();
                        while (reader.IsStartElement("item"))
                        {
                            var info = new PlayInfo();
                            if (IsDrag)
                            {
                                info.Segments = new List <PlaySegmentInfo>();
                            }
                            var bitrate = reader.GetAttribute("bitrate");
                            var ft      = reader.GetAttribute("ft");
                            if (bitrate == null || ft == null)
                            {
                                continue;
                            }
                            info.Bitrate       = Convert.ToInt32(bitrate);
                            info.ft            = Convert.ToInt32(ft);
                            info.Rid           = reader.GetAttribute("rid");
                            info.TotalDuration = totalDuraiton;
                            PlayInfos.Add(info.ft, info);
                            reader.ReadToNextSibling("item");
                        }
                    }

                    if (reader.Name == "dt" &&
                        reader.NodeType == XmlNodeType.Element)
                    {
                        var ft = Convert.ToInt32(reader.GetAttribute("ft"));
                        if (PlayInfos.ContainsKey(ft))
                        {
                            var info = PlayInfos[ft];
                            reader.ReadToFollowing("sh");
                            reader.Read();
                            info.Sh = reader.Value;
                            reader.ReadToFollowing("st");
                            reader.Read();
                            var st = reader.Value;
                            var ci = new CultureInfo("en-US");
                            info.St = DateTime.ParseExact(st, "ddd MMM dd HH:mm:ss yyyy UTC", ci);
                            reader.ReadToFollowing("bwt");
                            reader.Read();
                            info.Bwt = Convert.ToInt32(reader.Value);
                        }
                    }

                    if (reader.Name == "drag" &&
                        reader.NodeType == XmlNodeType.Element)
                    {
                        var ft = Convert.ToInt32(reader.GetAttribute("ft"));
                        if (PlayInfos.ContainsKey(ft))
                        {
                            reader.Read();
                            var    info      = PlayInfos[ft];
                            double timestamp = 0;
                            while (reader.IsStartElement("sgm"))
                            {
                                var segment = new PlaySegmentInfo();
                                segment.No            = int.Parse(reader["no"]);
                                segment.Duration      = double.Parse(reader["dur"]);
                                segment.FileSize      = ulong.Parse(reader["fs"]);
                                segment.HeadLength    = ulong.Parse(reader["hl"]);
                                timestamp            += segment.Duration;
                                segment.TotalDuration = timestamp;
                                info.Segments.Add(segment);
                                reader.ReadToNextSibling("sgm");
                            }
                        }
                    }
                }
            }

            return(1);
        }
 public override bool ReadToNextSibling(string name)
 {
     CheckAsync();
     return(_coreReader.ReadToNextSibling(name));
 }
Example #34
0
        public virtual void ReadXml(System.Xml.XmlReader reader)
        {
            if (reader.ReadToDescendant("LotsOfData") == false)
            {
                throw new Exception("could not find the start of element LotsOfData");
            }

            if (reader.ReadToDescendant("Boolean") == false)
            {
                throw new Exception("could not find the start of element Boolean");
            }

            reader.Read();
            if (reader.ReadContentAsBoolean() == false)
            {
                throw new Exception("did not find the correct value in Boolean");
            }

            //DateTime
            if (reader.ReadToNextSibling("DateTime") == false)
            {
                throw new Exception("could not find the start of element DateTime");
            }

            reader.Read();
            DateTime now = reader.ReadContentAsDateTime();

            if (now != Now)
            {
                TimeSpan diff = new TimeSpan((now.Ticks - Now.Ticks));
                if (diff.TotalMilliseconds > 1000)
                {
                    // seconds are lost in Xml
                    throw new Exception(String.Format("Dates differ {0} {1} Ticks {2}", now, Now, (now.Ticks - Now.Ticks)));
                }
            }

            //DecimalValue
            if (reader.ReadToNextSibling("DecimalValue") == false)
            {
                throw new Exception("could not find the start of element DecimalValue");
            }
            //			reader.Read();
            decimal decimalValue = (decimal)reader.ReadElementContentAs(typeof(decimal), null);

            if (decimalValue != CommonUtilities.DecimalValue)
            {
                string msg = String.Format("different decimal Values {0} {1}", decimalValue, CommonUtilities.DecimalValue);
                throw new Exception(msg);
            }

            //DoubleValue
            if (reader.NodeType != System.Xml.XmlNodeType.Element && reader.Name != "DoubleValue")
            {
                if (reader.ReadToNextSibling("DoubleValue") == false)
                {
                    throw new Exception("could not find the start of element DoubleValue");
                }
            }

            //reader.Read();
            double doubleValue = (double)reader.ReadElementContentAsDouble();

            if (doubleValue != CommonUtilities.DoubleValue)
            {
                string msg = String.Format("different double Values {0} {1}", doubleValue, CommonUtilities.DoubleValue);
                throw new Exception(msg);
            }

            //FloatValue
            if (reader.NodeType != System.Xml.XmlNodeType.Element && reader.Name != "FloatValue")
            {
                if (reader.ReadToNextSibling("FloatValue") == false)
                {
                    throw new Exception("could not find the start of element FloatValue");
                }
            }

            //reader.Read();
            float floatValue = (float)reader.ReadElementContentAs(typeof(float), null);

            if (floatValue != CommonUtilities.FloatValue)
            {
                string msg = String.Format("different floatValue Values {0} {1}", floatValue, CommonUtilities.FloatValue);
                throw new MyException(msg);
            }

            //IntValue
            if (reader.NodeType != System.Xml.XmlNodeType.Element && reader.Name != "IntValue")
            {
                if (reader.ReadToNextSibling("IntValue") == false)
                {
                    throw new Exception("could not find the start of element IntValue");
                }
            }
            //			reader.Read();
            int intValue = reader.ReadElementContentAsInt();

            if (intValue != CommonUtilities.IntValue)
            {
                string msg = String.Format("different intValue Values {0} {1}", intValue, CommonUtilities.IntValue);
                throw new MyException(msg);
            }

            //LongValue
            if (reader.NodeType != System.Xml.XmlNodeType.Element && reader.Name != "LongValue")
            {
                if (reader.ReadToNextSibling("LongValue") == false)
                {
                    throw new Exception("could not find the start of element LongValue");
                }
            }
            //reader.Read();
            long longValue = (long)reader.ReadElementContentAs(typeof(long), null);

            if (longValue != CommonUtilities.LongValue)
            {
                string msg = String.Format("different longValue Values {0} {1}", longValue, CommonUtilities.LongValue);
                throw new MyException(msg);
            }

            //Object
            if (reader.NodeType != System.Xml.XmlNodeType.Element && reader.Name != "Object")
            {
                if (reader.ReadToNextSibling("Object") == false)
                {
                    throw new MyException("could not find the start of element Object");
                }
            }

            //reader.Read();
            TimeSpan objectValue = (TimeSpan)reader.ReadElementContentAs(typeof(TimeSpan), null);

            if (objectValue != CommonUtilities.TimeSpanValue)
            {
                string msg = String.Format("different objectValue Values {0} {1}", objectValue, CommonUtilities.TimeSpanValue);
                throw new MyException(msg);
            }

            //StringValue
            if (reader.NodeType != System.Xml.XmlNodeType.Element && reader.Name != "StringValue")
            {
                if (reader.ReadToNextSibling("StringValue") == false)
                {
                    throw new MyException("could not find the start of element StringValue");
                }
            }

            //reader.Read();
            string stringValue = reader.ReadElementContentAsString();

            if (stringValue == null || stringValue.Equals(CommonUtilities.XmlStringForAttributes) == false)
            {
                string msg = String.Format("different stringValue Values {0} {1}", stringValue, CommonUtilities.XmlStringForAttributes);
                throw new MyException(msg);
            }

            int       counter      = 0;
            const int NODES_AT_END = 1;

            while (reader.Read())
            {
                counter++;
            }

            if (counter != NODES_AT_END)
            {
                throw new MyException(String.Format("expected {0} nodes, but found {1}", NODES_AT_END, counter));
            }
        }
Example #35
0
        protected override object AnalysisData(System.Xml.XmlReader reader)
        {
            PlayInfos = new Dictionary <int, PlayInfo>(6);
            var ci = new CultureInfo("en-US");

            while (reader.Read())
            {
                if (reader.Name == "channel" &&
                    reader.NodeType == XmlNodeType.Element)
                {
                    var totalDuraiton = double.Parse(reader["dur"]);

                    while (reader.Read())
                    {
                        if (reader.Name == "file" &&
                            reader.NodeType == XmlNodeType.Element)
                        {
                            reader.Read();
                            while (reader.IsStartElement("item"))
                            {
                                var info    = new PlayInfo();
                                var bitrate = reader["bitrate"];
                                var ft      = reader["ft"];
                                if (bitrate == null || ft == null)
                                {
                                    continue;
                                }
                                info.Bitrate       = Convert.ToInt32(bitrate);
                                info.ft            = Convert.ToInt32(ft);
                                info.Rid           = reader["rid"];
                                info.TotalDuration = totalDuraiton;
                                PlayInfos.Add(info.ft, info);
                                reader.ReadToNextSibling("item");
                            }
                        }
                        if (reader.NodeType == XmlNodeType.EndElement &&
                            reader.Name == "file")
                        {
                            break;
                        }
                    }
                }

                if (reader.Name == "dt" &&
                    reader.NodeType == XmlNodeType.Element)
                {
                    var ft = Convert.ToInt32(reader["ft"]);
                    reader.Read();
                    if (!PlayInfos.ContainsKey(ft))
                    {
                        continue;
                    }

                    var info = PlayInfos[ft];
                    while (reader.Read())
                    {
                        if (reader.NodeType == XmlNodeType.Element &&
                            !reader.IsEmptyElement)
                        {
                            var nodeName = reader.Name;
                            if (nodeName != "key")
                            {
                                reader.Read();
                            }
                            switch (nodeName)
                            {
                            case "sh":
                                info.Sh = reader.Value;
                                break;

                            case "st":
                                info.St = DateTime.ParseExact(reader.Value, "ddd MMM dd HH:mm:ss yyyy UTC", ci);
                                break;

                            case "bwt":
                                info.Bwt = Convert.ToInt32(reader.Value);
                                break;

                            case "key":
                                info.Expire = DateTime.ParseExact(reader["expire"], "ddd MMM dd HH:mm:ss yyyy UTC", ci);
                                reader.Read();
                                info.Key = reader.Value;
                                break;

                            default:
                                break;
                            }
                        }
                        if (reader.NodeType == XmlNodeType.EndElement &&
                            reader.Name == "dt")
                        {
                            break;
                        }
                    }
                }
            }

            return(1);
        }
Example #36
0
File: Cat.cs Project: burstas/rmps
        public bool FromXml(XmlReader reader)
        {
            if (reader == null || reader.Name != "Cat" || !reader.IsStartElement())
            {
                return false;
            }
            AppId = reader.GetAttribute("AppId");

            if (reader.Name == "Order" || reader.ReadToDescendant("Order"))
            {
                Order = reader.ReadElementContentAsInt();
            }
            if (reader.Name == "Id" || reader.ReadToNextSibling("Id"))
            {
                Id = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Parent" || reader.ReadToNextSibling("Parent"))
            {
                Parent = reader.ReadElementContentAsString();
            }
            if (reader.Name == "IsLeaf" || reader.ReadToNextSibling("IsLeaf"))
            {
                IsLeaf = bool.Parse(reader.ReadElementContentAsString());
            }
            if (reader.Name == "Text" || reader.ReadToNextSibling("Text"))
            {
                Text = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Tips" || reader.ReadToNextSibling("Tips"))
            {
                Tips = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Icon" || reader.ReadToNextSibling("Icon"))
            {
                Icon = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Meta" || reader.ReadToNextSibling("Meta"))
            {
                Meta = reader.ReadElementContentAsString();
            }
            if (reader.Name == "Memo" || reader.ReadToNextSibling("Memo"))
            {
                Memo = reader.ReadElementContentAsString();
            }

            if (reader.Name == "Cat" && reader.NodeType == XmlNodeType.EndElement)
            {
                reader.ReadEndElement();
            }
            return true;
        }
Example #37
0
        public void ReadXml(System.Xml.XmlReader reader)
        {
            if (reader.ReadToFollowing(this.GetType().Name))
            {
                String s = reader.GetAttribute(Orientation.GetType().Name);
                m_orientation = (Orientation)(Enum.Parse(Orientation.GetType(), s));
                switch (m_orientation)
                {
                case Orientation.Horizontal:
                    if (reader.ReadToDescendant("Column"))
                    {
                        RowDefinitions.Add(NewRowDefinition(new GridLength(1, GridUnitType.Star), m_minGridSize.Height));
                        do
                        {
                            double      width  = double.Parse(reader.GetAttribute("Width"));
                            IDockLayout layout = null;
                            reader.ReadStartElement();
                            if (reader.LocalName == typeof(DockedWindow).Name)
                            {
                                DockedWindow dockedWindow = new DockedWindow(Root, reader.ReadSubtree());
                                layout = dockedWindow.DockedContent.Children.Count != 0 ? dockedWindow : null;
                                reader.ReadEndElement();
                            }
                            else if (reader.LocalName == typeof(GridLayout).Name)
                            {
                                GridLayout gridLayout = new GridLayout(Root, reader.ReadSubtree());
                                layout = gridLayout.Layouts.Count > 0 ? gridLayout : null;
                                reader.ReadEndElement();
                            }
                            if (layout != null)
                            {
                                if (Children.Count > 0)
                                {
                                    ColumnDefinitions.Add(NewColumnDefinition(new GridLength(1, GridUnitType.Auto), 0));
                                    Children.Add(NewGridSplitter(Orientation));
                                }
                                ColumnDefinitions.Add(NewColumnDefinition(new GridLength(width, GridUnitType.Star), m_minGridSize.Width));
                                m_children.Add(layout);
                                Children.Add((FrameworkElement)layout);
                            }
                        } while (reader.ReadToNextSibling("Column"));
                    }
                    break;

                case Orientation.Vertical:
                    if (reader.ReadToDescendant("Row"))
                    {
                        ColumnDefinitions.Add(NewColumnDefinition(new GridLength(1, GridUnitType.Star), m_minGridSize.Width));
                        do
                        {
                            double      height = double.Parse(reader.GetAttribute("Height"));
                            IDockLayout layout = null;
                            reader.ReadStartElement();
                            if (reader.LocalName == typeof(DockedWindow).Name)
                            {
                                DockedWindow dockedWindow = new DockedWindow(Root, reader.ReadSubtree());
                                layout = dockedWindow.DockedContent.Children.Count != 0 ? dockedWindow : null;
                                reader.ReadEndElement();
                            }
                            else if (reader.LocalName == typeof(GridLayout).Name)
                            {
                                GridLayout gridLayout = new GridLayout(Root, reader.ReadSubtree());
                                layout = gridLayout.Layouts.Count > 0 ? gridLayout : null;
                                reader.ReadEndElement();
                            }
                            if (layout != null)
                            {
                                if (Children.Count > 0)
                                {
                                    RowDefinitions.Add(NewRowDefinition(new GridLength(1, GridUnitType.Auto), 0));
                                    Children.Add(NewGridSplitter(Orientation));
                                }
                                RowDefinitions.Add(NewRowDefinition(new GridLength(height, GridUnitType.Star), m_minGridSize.Height));
                                m_children.Add(layout);
                                Children.Add((FrameworkElement)layout);
                            }
                        } while (reader.ReadToNextSibling("Row"));
                    }
                    break;
                }
                for (int i = 0; i < Children.Count; i++)
                {
                    Grid.SetColumn(Children[i], Orientation == Orientation.Horizontal ? i : 0);
                    Grid.SetRow(Children[i], Orientation == Orientation.Vertical ? i : 0);
                }
                reader.ReadEndElement();
            }
        }