Read() public abstract method

public abstract Read ( ) : bool
return bool
        private void ReadElement(XmlReader reader, Bag parent) {
            var name = XmlConvert.DecodeName(reader.LocalName);
            var type = reader["type"];

            // is it a value node ? i.e. type=""
            if (type != null) {
                if (type == "Array") {
                    // go to first item
                    parent.SetMember(name, ReadArray(reader));
                    reader.Read();
                }
                else {
                    var typeCode = (TypeCode)Enum.Parse(typeof(TypeCode), type);
                    var value = SConvert.XmlDecode(typeCode, reader.ReadElementString());
                    parent.SetMember(name, value);
                }
            }
            else {
                var grappe = new Bag();
                reader.Read();
                parent.SetMember(name, grappe);
                while (reader.MoveToContent() == XmlNodeType.Element) {
                    ReadElement(reader, grappe);
                }

                reader.Read();
            }
        }
        void IFlickrParsable.Load(XmlReader reader)
        {
            while (reader.MoveToNextAttribute())
            {
                switch (reader.LocalName)
                {
                    case "usage":
                        Usage = reader.ReadContentAsInt();
                        break;
                    case "predicate":
                        PredicateName = reader.Value;
                        break;
                    case "namespace":
                        NamespaceName = reader.Value;
                        break;
                }
            }

            reader.Read();

            if (reader.NodeType == XmlNodeType.Text)
                PairName = reader.ReadContentAsString();

            reader.Read();
        }
        void IXmlSerializable.ReadXml(XmlReader reader)
        {
            // name start
              reader.Read();

              while (reader.Name == "NameValue")
              {
            string name;
            string value;

            // Name
            reader.Read();
            reader.Read();
            name = reader.Value;
            reader.Read();

            // Value
            reader.Read();
            reader.Read();
            value = reader.Value;
            reader.Read();

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

            Add(name, value);
              }

              // name end
              reader.Read();
        }
Example #4
0
 public string Task1()
 {
     reader = XmlReader.Create(FILE_NAME);
     decimal in_v = 0;
     decimal out_v = 0;
     while (reader.Read())
     {
         if (reader.IsStartElement())
         {
             switch (reader.Name)
             {
                 case IN_V:
                     if(reader.Read())
                         in_v += Convert.ToDecimal(reader.Value.Trim());
                     break;
                 case OUT_V:
                     if (reader.Read())
                         out_v += Convert.ToDecimal(reader.Value.Trim());
                     break;
             }
         }
     }
     reader.Close();
     return IN_V + in_v.ToString() + "\n" + OUT_V + out_v.ToString();
 }
		public void ReadXml(XmlReader reader)
		{
			m_name = reader.Name;
			while (reader.Read())
			{
				reader.SkipEmptyNodes();

				if (reader.NodeType == XmlNodeType.EndElement)
				{
					// the end
					break;
				}
				else if (reader.NodeType == XmlNodeType.Element)
				{
					reader.Read();	// go into ValueNode
					reader.SkipEmptyNodes();
				}

				if (reader.NodeType != XmlNodeType.Text)
				{
					throw new Exception("Required NodeType: Text - Found: " + reader.NodeType);
				}

				var value = reader.ReadContentAsString();
				Pairs.Add(new KeyValuePair<string, string>(reader.Name, value));

				if (reader.NodeType == XmlNodeType.EndElement)
				{
					// the end
					reader.ReadInnerXml();
				}
			}
		}
Example #6
0
        public Searchers(XmlReader reader)
        {
            this.Choices = new List<Choice>();
            this.CurrentSearch = "";

            reader.Read();
            if (reader.Name != "TheSearchers")
                return; // bail out

            reader.Read();
            while (!reader.EOF)
            {
                if ((reader.Name == "TheSearchers") && !reader.IsStartElement())
                    break; // all done

                if (reader.Name == "Current")
                    this.CurrentSearch = reader.ReadElementContentAsString();
                else if (reader.Name == "Choice")
                {
                    string url = reader.GetAttribute("URL");
                    if (url == null)
                        url = reader.GetAttribute("URL2");
                    else
                    {
                        // old-style URL, replace "!" with "{ShowName}+{Season}+{Episode}"
                        url = url.Replace("!", "{ShowName}+{Season}+{Episode}");
                    }
                    this.Add(reader.GetAttribute("Name"), url);
                    reader.ReadElementContentAsString();
                }
                else
                    reader.ReadOuterXml();
            }
        }
Example #7
0
 void IFlickrParsable.Load(XmlReader reader)
 {
     while (reader.NodeType != XmlNodeType.EndElement)
     {
         switch (reader.LocalName)
         {
             case "set":
                 ContextSet set = new ContextSet();
                 set.PhotosetId = reader.GetAttribute("id");
                 set.Title = reader.GetAttribute("title");
                 Sets.Add(set);
                 reader.Read();
                 break;
             case "pool":
                 ContextGroup group = new ContextGroup();
                 group.GroupId = reader.GetAttribute("id");
                 group.Title = reader.GetAttribute("title");
                 Groups.Add(group);
                 reader.Read();
                 break;
             default:
                 break;
         }
     }
 }
Example #8
0
        public ExamQuestion(XmlReader reader)
            : this()
        {
            QuestionIdentifier = reader.GetAttribute("identifier");
            Question = reader.GetAttribute("question");
            Image = reader.GetAttribute("image");

            while (!reader.EOF)
            {
                switch (reader.NodeType)
                {
                    case XmlNodeType.Element:
                        if (reader.Name == "Answer")
                            Answer = reader.ReadElementContentAsString();
                        else if (reader.Name == "Distractor")
                            Distractors.Add(reader.ReadElementContentAsString());
                        else
                            reader.Read();
                        break;
                    case XmlNodeType.EndElement:
                        return;
                    default:
                        reader.Read();
                        break;
                }
            }
        }
Example #9
0
        internal XmlNode ReadCurrentNode(XmlDocument doc, XmlReader reader)
        {
            _doc = doc;
            _reader = reader;
            // WS are optional only for loading (see XmlDocument.PreserveWhitespace)
            _preserveWhitespace = true;
            if (doc == null)
                throw new ArgumentException(SR.Xdom_Load_NoDocument);
            if (reader == null)
                throw new ArgumentException(SR.Xdom_Load_NoReader);

            if (reader.ReadState == ReadState.Initial)
            {
                reader.Read();
            }
            if (reader.ReadState == ReadState.Interactive)
            {
                XmlNode n = LoadNode(true);

                // Move to the next node
                if (n.NodeType != XmlNodeType.Attribute)
                    reader.Read();

                return n;
            }
            return null;
        }
Example #10
0
        private void ReadTerrain(XmlReader reader, string key)
        {
            Terrain terrain = new Terrain (key);

            while (reader.Read ()) {
                if ((reader.NodeType == XmlNodeType.EndElement) &&
                    (reader.Name == "terrain"))
                    break;

                if (reader.NodeType != XmlNodeType.Element)
                    continue;

                string element = reader.Name;
                reader.Read ();

                if (element == "name")
                    terrain.Name = reader.Value;

                else if (element == "description")
                    terrain.Description = reader.Value;

                else if (element == "blocks")
                    terrain.IsBlocking = Boolean.Parse (reader.Value);

                else if (element == "tile")
                    terrain.Tiles.Add (reader.Value);
            }

            if (!terrain.IsValid)
                throw new ApplicationException (String.Format
                    ("Terrain '{0}' is missing a child element.",
                    key));

            terrains.Add (key, terrain);
        }
Example #11
0
        public void ReadFromXml(XmlReader reader)
        {
            reader.MoveToContent();
            if (reader.IsEmptyElement) { reader.Read(); return; }

            reader.Read();
            while (!reader.EOF)
            {
                if (reader.IsStartElement())
                {
                    if (reader.Name == "type")
                    {
                        var type = new ClassType();
                        type.ReadFromXml(reader);
                        classTypes.Add(type);
                    }
                    else
                    {
                        reader.Skip();
                    }
                }
                else
                {
                    reader.Read();
                    break;
                }
            }
        }
Example #12
0
		/// <summary>
		///		Parses the WDDX element and returns the deserialized
		///		content as a <see cref="Hashtable"/> object, advancing the reader to the next
		///		element.
		/// </summary>
		/// <param name="input">The pre-initialized <see cref="System.Xml.XmlTextReader"/> pointing to the WDDX to be parsed.</param>
		public object ParseElement(XmlReader input)
		{
			Hashtable thisTable = new Hashtable();

			if (input.IsEmptyElement)
			{
				input.Skip();
				return thisTable;
			}

			string elementName;
			object elementValue;
			IWddxElementDeserializer deserializer;
			while (input.Read() && (!(input.Name == "struct" && input.NodeType == XmlNodeType.EndElement)))
			{
				if (input.Name == "var" && input.NodeType != XmlNodeType.EndElement)
				{
					elementName = input.GetAttribute("name");
					input.Read();  // move to contents of <var>
					deserializer = WddxElementDeserializerFactory.GetDeserializer(input.Name);
					elementValue = deserializer.ParseElement(input);
					thisTable.Add(elementName, elementValue);
				}
			}
			input.ReadEndElement();

			return thisTable;
		}
        public void readInFilepropertyElement(XmlReader reader, string dotName, Fileproperty fileproperty)
        {
            //while (reader.NodeType != XmlNodeType.EndElement)
            //{
                reader.Read();//now on text node
                if (reader.NodeType == XmlNodeType.Text)
                {
                    //Console.WriteLine(dotName + " = " + reader.Value);
                    switch (dotName)
                    {
                        case "Name":
                            fileproperty.Filename = reader.Value;
                            reader.Read();//now on end element like </Name>
                            break;
                        case "StartingFrame":
                            fileproperty.StartingFrame = Convert.ToInt32(reader.Value);
                            reader.Read();//now on end element like </Name>
                            break;
                        case "TotalFrames":
                            fileproperty.TotalFrames = Convert.ToInt32(reader.Value);
                            reader.Read();//now on end element like </Name>
                            break;

                    }
                }
            //}
            reader.Read();//now on the next start element like <StartingFrame>

        }
        private string ConvertToJsonClass(XmlReader xmlReader, char openChar, char closeChar)
        {
            string result = String.Format("{0}\"{1}\" :", new string('\t', tabCount), xmlReader.Name);
            ++tabCount;
            if (xmlReader.IsEmptyElement)
                return ConvertToJsonEmptyValue(result);

            if (xmlReader.HasAttributes)
            {
                result += string.Format(" {0}\r\n", openChar);
                result += ConvertToJsonAttributes(xmlReader);
                xmlReader.Read();
            }
            else
            {
                xmlReader.Read();
                if (xmlReader.NodeType == XmlNodeType.Text)
                {
                    result += ConvertToJsonText(xmlReader);
                    tabCount--;
                    return result;
                }
                result += string.Format(" {0}\r\n", openChar);   
            }

            do
            {
                result += ConvertToJsonElement(xmlReader);
            } while (xmlReader.Read() && xmlReader.NodeType != XmlNodeType.EndElement);
            --tabCount;
            result += string.Format("{0}{1},\r\n", new string('\t', tabCount), closeChar);

            return result;
        }
 public static void Deserialise(this PageInfo pageInfo, XmlReader reader)
 {
     if (reader.NodeType == XmlNodeType.Element && reader.Name.Equals("PageInfo"))
     {
         while (reader.Read() && reader.NodeType == XmlNodeType.Element)
         {
             string elementName = reader.Name;
             if (reader.Read() && reader.NodeType == XmlNodeType.Text)
             {
                 int value;
                 if (int.TryParse(reader.Value, out value))
                 {
                     switch (elementName)
                     {
                         case "TotalCount":
                             pageInfo.TotalCount = value;
                             break;
                         case "ItemsCount":
                             pageInfo.ItemsCount = value;
                             break;
                         case "StartIndex":
                             pageInfo.StartIndex = value;
                             break;
                     }
                 }
             }
             reader.Read();  // end element
         }
     }
 }
 public override object ReadObject(XmlReader reader)
 {
     SimpleEventRequest SimpleEventRequestField = null;
     if (IsParentStartElement(reader, false, true))
     {
         SimpleEventRequestField = new SimpleEventRequest();
         SimpleEventRequestField.AnyAttr = ReadAnyAttribute(reader);
         reader.Read();
         if (IsChildStartElement(reader, "Param", true, true))
         {
             reader.Read();
             string[] Param_List = reader.ReadString().Split();
             if ((this._CompressByteArrays 
                         || ((Param_List.Length == 1) 
                         && (Param_List[0].Length > 2))))
             {
                 SimpleEventRequestField.Param = Convert.FromBase64String(Param_List[0]);
             }
             else
             {
                 SimpleEventRequestField.Param = new byte[Param_List.Length];
                 for (int i = 0; (i < Param_List.Length); i = (i + 1))
                 {
                     SimpleEventRequestField.Param[i] = XmlConvert.ToByte(Param_List[i]);
                 }
             }
             reader.ReadEndElement();
         }
         SimpleEventRequestField.Any = ReadAnyElement(reader, false);
         reader.ReadEndElement();
     }
     return SimpleEventRequestField;
 }
Example #17
0
		void NoExtensionsSetup ()
		{
			XmlReaderSettings xs = new XmlReaderSettings ();
			xs.IgnoreWhitespace = true;
			xtr = XmlTextReader.Create ("Test/System.ServiceModel.Description/dump.xml", xs);

			xtr.Read ();

			//FIXME: skipping Headers
			while (xtr.LocalName != "Body") {
				if (!xtr.Read ())
					return;
			}

			//Move to <Metadata ..
			xtr.Read ();
			ms = MetadataSet.ReadFrom (xtr);

			//MyWsdlImportExtension mw = new MyWsdlImportExtension ();
			List<IWsdlImportExtension> list = new List<IWsdlImportExtension> ();
			//list.Add (mw);
			list.Add (new DataContractSerializerMessageContractImporter ());

			/*list.Add (new MessageEncodingBindingElementImporter ());
			list.Add (new TransportBindingElementImporter ());
			list.Add (new StandardBindingImporter ());*/

			wi = new WsdlImporter (ms, null, list);
		}
 public override object ReadObject(XmlReader reader)
 {
     OneWayAttachmentRequest OneWayAttachmentRequestField = null;
     if (IsParentStartElement(reader, false, true))
     {
         OneWayAttachmentRequestField = new OneWayAttachmentRequest();
         OneWayAttachmentRequestField.AnyAttr = ReadAnyAttribute(reader);
         reader.Read();
         if (IsChildStartElement(reader, "Param", true, true))
         {
             reader.Read();
             if (IsAttribute(reader, "href"))
             {
                 string contentID;
                 contentID = reader.Value;
                 reader.MoveToElement();
                 reader.ReadStartElement("Include", "http://www.w3.org/2004/08/xop/include");
                 reader.ReadEndElement();
                 OneWayAttachmentRequestField.Param = GetBodyPartContent(contentID, BodyParts);
             }
             else
             {
                 OneWayAttachmentRequestField.Param = Convert.FromBase64String(reader.ReadString());
                 reader.ReadEndElement();
             }
         }
         OneWayAttachmentRequestField.Any = ReadAnyElement(reader, false);
         reader.ReadEndElement();
     }
     return OneWayAttachmentRequestField;
 }
Example #19
0
        public override void ReadXml(XmlReader reader)
        {
            reader.MoveToContent();
            if (reader.IsEmptyElement) { reader.Read(); return; }

            while (!reader.EOF)
            {
                if (reader.IsStartElement())
                {
                    switch (reader.LocalName)
                    {
                        case "Format":
                            Format = reader.ReadElementContentAsString();
                            break;
                        case "OnlineResource":
                            OnlineResource = new OnlineResource();
                            OnlineResource.ReadXml(reader);
                            break;
                        default:
                            reader.Skip();
                            break;
                    }
                }
                else
                {
                    reader.Read();
                }
            }
        }
Example #20
0
        public void MakeTaskElements(string suffix, XmlReader taskSet)
        {
            while (taskSet.Name != "question")
                taskSet.Read();
            Label myLabel = new Label();
            myLabel.Name = "MyLabel" + suffix;
            myLabel.Content = taskSet.GetAttribute("key");
            myLabel.FontSize = 20;
            taskSet.Read();
            string xaml =
                "<Button x:Name='MyButton' Content='F*****g button' Click=Button1_Click   xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'   xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'> "
               +"<Button.ToolTip> <ToolTip Background='#90004455'> </ToolTip></Button.ToolTip>"+
               " </Button>";

            string xaml1 =
            "<Grid Margin='10' " +
            "xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' " +
            "xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' " +
            "</Grid>";
            StringReader stringReader = new StringReader(xaml);
            XmlReader xmlReader = XmlReader.Create(stringReader);

            UIElement buffer = (UIElement)XamlReader.Parse(xaml);
            //(buffer as Button).Click += Button1_Click;
            (buffer as Button).Content="Hello";

            (pages.Last() as StackPanel).Children.Add(buffer);
        }
Example #21
0
 void IFlickrParsable.Load(XmlReader reader)
 {
     while (reader.NodeType != XmlNodeType.EndElement)
       {
     switch (reader.LocalName)
     {
       case "set":
     this.Sets.Add(new ContextSet()
     {
       PhotosetId = reader.GetAttribute("id"),
       Title = reader.GetAttribute("title")
     });
     reader.Read();
     continue;
       case "pool":
     this.Groups.Add(new ContextGroup()
     {
       GroupId = reader.GetAttribute("id"),
       Title = reader.GetAttribute("title")
     });
     reader.Read();
     continue;
       default:
     continue;
     }
       }
 }
Example #22
0
		public static ICondition ReadComplexCondition(XmlReader reader)
		{
			Properties properties = Properties.ReadFromAttributes(reader);
			reader.Read();
			ICondition condition = null;
			while (reader.Read()) {
				switch (reader.NodeType) {
					case XmlNodeType.Element:
						switch (reader.LocalName) {
							case "And":
								condition = AndCondition.Read(reader);
								goto exit;
							case "Or":
								condition = OrCondition.Read(reader);
								goto exit;
							case "Not":
								condition = NegatedCondition.Read(reader);
								goto exit;
							default:
								throw new AddInLoadException("Invalid element name '" + reader.LocalName
								                             + "', the first entry in a ComplexCondition " +
								                             "must be <And>, <Or> or <Not>");
						}
				}
			}
		exit:
			if (condition != null) {
				ConditionFailedAction action = properties.Get("action", ConditionFailedAction.Exclude);
				condition.Action = action;
			}
			return condition;
		}
Example #23
0
        public void ReadFromXml(XmlReader reader)
        {
            reader.MoveToContent();
            if (reader.IsEmptyElement) { reader.Read(); return; }

            reader.Read();
            while (!reader.EOF)
            {
                if (reader.IsStartElement())
                {
                    if (reader.Name == "module")
                    {
                        var module = new Module();
                        module.ReadFromXml(reader);
                        modules.Add(module);
                    }
                    else
                    {
                        reader.Skip();
                    }
                }
                else
                {
                    reader.Read();
                    break;
                }
            }
        }
Example #24
0
		public static IFeed GetFeed(Uri url, XmlReader reader) {
			reader.MoveToContent();
			string language = string.Empty;
			FeedType feedType;
			string namespaceUri = reader.NamespaceURI;
			if(reader.LocalName.Equals("RDF") &&
				reader.NamespaceURI.Equals("http://www.w3.org/1999/02/22-rdf-syntax-ns#")) {
				feedType = FeedType.Rdf;
				reader.Read();
				reader.MoveToContent();
			} else if(reader.LocalName.Equals("rss")) {
				feedType = FeedType.Rss;

				do {
					reader.Read();
					reader.MoveToContent();
				} while(!reader.LocalName.Equals("channel") && !reader.LocalName.Equals("rss"));
			} else if(reader.NamespaceURI.Equals("http://purl.org/atom/ns#") && reader.LocalName.Equals("feed")) {
				if(reader.MoveToAttribute("version") && reader.Value.Equals("0.3")) {
					feedType = FeedType.Atom;
					language = reader.XmlLang;
					reader.MoveToElement();
				} else {
					throw new ApplicationException(string.Format("Unsupported Atom Version {0}", reader.Value));
				}
			} else if(reader.NamespaceURI.Equals("http://www.w3.org/2005/Atom") && reader.LocalName.Equals("feed")) {
				feedType = FeedType.Atom;
				language = reader.XmlLang;
			} else {
				throw new ApplicationException("Unknown Xml Dialect");
			}
			return PopulateFeed(url, reader, namespaceUri, feedType, language);
		}
 public virtual void ReadXml(XmlReader reader)
 {
     var viewSpecLists = new Dictionary<string, ViewSpecList>();
     if (reader.IsEmptyElement)
     {
         reader.Read();
     }
     else
     {
         reader.Read();
         while (true)
         {
             if (reader.IsStartElement("views")) // Not L10N
             {
                 string groupName = reader.GetAttribute("name"); // Not L10N
                 // ReSharper disable AssignNullToNotNullAttribute
                 viewSpecLists.Add(groupName, ViewSpecList.Deserialize(reader));
                 // ReSharper restore AssignNullToNotNullAttribute
             }
             else if (reader.NodeType == XmlNodeType.EndElement)
             {
                 reader.ReadEndElement();
                 break;
             }
             else
             {
                 reader.Read();
             }
         }
     }
     _viewSpecLists = viewSpecLists;
 }
Example #26
0
 void IFlickrParsable.Load(XmlReader reader)
 {
     reader.Read();
       while (reader.LocalName != "photos")
       {
     switch (reader.LocalName)
     {
       case "firstdatetaken":
     this.FirstTakenDate = UtilityMethods.ParseDateWithGranularity(reader.ReadElementContentAsString());
     continue;
       case "firstdate":
     this.FirstDate = UtilityMethods.UnixTimestampToDate(reader.ReadElementContentAsString());
     continue;
       case "count":
     this.PhotoCount = reader.ReadElementContentAsInt();
     continue;
       case "views":
     this.Views = reader.ReadElementContentAsInt();
     continue;
       default:
     reader.Skip();
     continue;
     }
       }
       reader.Read();
 }
Example #27
0
		public void ReadXml(XmlReader reader)
		{
			//goto inner hidden
			reader.Read();
		    Text = reader.ReadInnerXml();
			reader.Read();
		}
Example #28
0
        public void ReadFromXml(XmlReader reader)
        {
            reader.MoveToContent();
            if (reader.IsEmptyElement) { reader.Read(); return; }

            semesterStart = DateTime.Parse(reader.GetAttribute("semesterStart"));

            reader.Read();
            while (!reader.EOF)
            {
                if (reader.IsStartElement())
                {
                    if (reader.Name == "weekday")
                    {
                        var weekday = new ScheduleWeekday();
                        weekday.ReadFromXml(reader);
                        weekdays.Add(weekday);
                    }
                    else
                    {
                        reader.Skip();
                    }
                }
                else
                {
                    reader.Read();
                    break;
                }
            }
        }
Example #29
0
        public void ReadFromXml(XmlReader reader)
        {
            reader.MoveToContent();
            if (reader.IsEmptyElement) { reader.Read(); return; }

            num = int.Parse(reader.GetAttribute("number"));

            reader.Read();
            while (!reader.EOF)
            {
                if (reader.IsStartElement())
                {
                    if (reader.Name == "class")
                    {
                        var sClass = new ScheduleClass();
                        sClass.ReadFromXml(reader);
                        classes.Add(sClass);
                    }
                    else
                    {
                        reader.Skip();
                    }
                }
                else
                {
                    reader.Read();
                    break;
                }
            }
        }
Example #30
0
        public void ReadFromXml(XmlReader reader)
        {
            reader.MoveToContent();
            if (reader.IsEmptyElement) { reader.Read(); return; }

            reader.Read();
            while (!reader.EOF)
            {
                if (reader.IsStartElement())
                {
                    if (reader.Name == "groupContainer")
                    {
                        var groupContainer = new GroupContainer();
                        groupContainer.ReadFromXml(reader);
                        groupContainers.Add(groupContainer);
                    }
                    else
                    {
                        reader.Skip();
                    }
                }
                else
                {
                    reader.Read();
                    break;
                }
            }
        }
Example #31
0
    public void ReadXml(System.Xml.XmlReader reader)
    {
        XmlSerializer keySerializer   = new XmlSerializer(typeof(TKey));
        XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));

        bool wasEmpty = reader.IsEmptyElement;

        reader.Read();

        if (wasEmpty)
        {
            return;
        }

        var isKeySimpleType = typeof(TKey).IsEnum || typeof(TKey).IsValueType || typeof(TKey) == typeof(string);

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

            reader.ReadStartElement("key");
            TKey key = default(TKey);
            if (isKeySimpleType)
            {
                if (typeof(TKey) == typeof(string))
                {
                    Object t = reader.GetAttribute("key_value");
                    key = (TKey)t;
                }
            }
            else
            {
                key = (TKey)valueSerializer.Deserialize(reader);
            }
            reader.ReadEndElement();

            reader.ReadStartElement("value");
            TValue value = (TValue)valueSerializer.Deserialize(reader);
            reader.ReadEndElement();

            this.Add(key, value);

            reader.ReadEndElement();
            reader.MoveToContent();
        }
        reader.ReadEndElement();
    }
Example #32
0
    public void ReadXml(System.Xml.XmlReader reader)
    {
        XmlSerializer x = new
                          XmlSerializer(typeof(System.Collections.ArrayList), new System.Type[] {
            typeof(Node)
        });

        reader.Read();
        ArrayList list = x.Deserialize(reader) as ArrayList;

        if (list == null)
        {
            return;
        }

        foreach (Node node in list)
        {
            Add(node.key, node.val);
        }
    }
    public void ReadXml(System.Xml.XmlReader reader)
    {
        XmlSerializer keySerializer = new XmlSerializer(typeof(TKey));
        // XmlSerializer valueSerializer = new XmlSerializer( typeof( TValue ) );


        bool wasEmpty = reader.IsEmptyElement;

        reader.Read();

        if (wasEmpty)
        {
            return;
        }

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

            reader.ReadStartElement("key");
            TKey key = ( TKey )keySerializer.Deserialize(reader);
            reader.ReadEndElement();

            reader.ReadStartElement("value");
            System.Runtime.Serialization.DataContractSerializer serializer =
                new System.Runtime.Serialization.DataContractSerializer(typeof(TValue), null, int.MaxValue, false, false, null, new Microsoft.Xrm.Sdk.KnownTypesResolver());
            TValue value = (TValue)serializer.ReadObject(reader);


            reader.ReadEndElement();

            this.Add(key, value);

            reader.ReadEndElement();
            reader.MoveToContent();
        }
        reader.ReadEndElement();
    }
Example #34
0
    public void ReadXml(System.Xml.XmlReader reader)
    {
        bool wasEmpty = reader.IsEmptyElement;

        reader.Read();

        if (wasEmpty)
        {
            return;
        }

        while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
        {
            string key = reader.Name;
            reader.ReadStartElement();
            string value = reader.ReadContentAsString();
            reader.ReadEndElement();

            this[key] = value;

            reader.MoveToContent();
        }
        reader.ReadEndElement();
    }
    public void ReadXml(System.Xml.XmlReader reader)
    {
        XmlSerializer keySerializer   = new XmlSerializer(typeof(TKey));
        XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));

        bool wasEmpty = reader.IsEmptyElement;

        reader.Read();

        if (wasEmpty)
        {
            return;
        }

        reader.ReadStartElement("dict");

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

            reader.ReadStartElement("key");
            TKey key = (TKey)keySerializer.Deserialize(reader);
            reader.ReadEndElement();

            reader.ReadStartElement("value");
            TValue value = (TValue)valueSerializer.Deserialize(reader);
            reader.ReadEndElement();

            this.Add(key, value);

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

        reader.ReadEndElement();
    }
Example #36
0
        /// <summary>
        /// Updates an existing <see cref="NameValueCollection" /> object from
        /// its XML representation.
        /// </summary>

        private static void UpcodeTo(XmlReader reader, NameValueCollection collection)
        {
            if (collection == null)
            {
                throw new ArgumentNullException("collection");
            }

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

            Debug.Assert(!reader.IsEmptyElement);
            reader.Read();

            //
            // Add entries into the collection as <item> elements
            // with child <value> elements are found.
            //

            while (reader.NodeType != XmlNodeType.EndElement)
            {
                if (reader.IsStartElement("item"))
                {
                    string name   = reader.GetAttribute("name");
                    bool   isNull = reader.IsEmptyElement;

                    reader.Read(); // <item>

                    if (!isNull)
                    {
                        while (reader.NodeType != XmlNodeType.EndElement)
                        {
                            if (reader.IsStartElement("value")) // <value ...>
                            {
                                string value = reader.GetAttribute("string");
                                collection.Add(name, value);
                                if (reader.IsEmptyElement)
                                {
                                    reader.Read();
                                }
                                else
                                {
                                    reader.Read();
                                    while (reader.NodeType != XmlNodeType.EndElement)
                                    {
                                        reader.Skip();
                                    }
                                    reader.ReadEndElement();
                                }
                            }
                            else
                            {
                                reader.Skip();
                            }

                            reader.MoveToContent();
                        }

                        reader.ReadEndElement(); // </item>
                    }
                    else
                    {
                        collection.Add(name, null);
                    }
                }
                else
                {
                    reader.Skip();
                }

                reader.MoveToContent();
            }

            reader.ReadEndElement();
        }
        public override SMSCommunicationHistoryCBE SendSMS(SMSCommunicationHistoryCBE sms)
        {
            LogMessage("Using Mobiduite SMS gateway for sending message.");
            #region Variables
            string createdURL   = "";
            string mobileNumber = sms.MobileNumber;
            string messageBody  = sms.MessageBody;

            string userName = "******";
            string password = "******";
            string sender   = "IMS";
            string dr_url   = "http://103.119.145.130:5555/VaaaN/IndonesiaMLFFApi/ResponseSMS";
            // Andrew Tan mobile number 082246492815 (Indonesia)

            #endregion

            #region Send SMS to Mobile phone
            try
            {
                sms.ReferenceNo = Constants.SMSTranscationId(sms.EntryId);
                LogMessage("Trying to send message to customer mobile number. Mobile No.:" + mobileNumber);
                createdURL = "http://webapps.imitra.com:29003/sms_applications/smsb/api_mt_send_message.php?";
                string data = "data=<bulk_sending>" +
                              "<username>" + userName + "</username>" +
                              "<password>" + password + "</password>" +
                              "<priority>high</priority>" +
                              "<sender>" + sender + "</sender>" +
                              "<dr_url>" + dr_url + "</dr_url>" +
                              "<allowduplicate>1</allowduplicate>" +
                              "<data_packet>" +
                              "<packet>" +
                              "<msisdn>" + mobileNumber + "</msisdn>" +
                              "<sms>" + messageBody + "</sms>" +
                              "<is_long_sms>N</is_long_sms>" +
                              "</packet>" +
                              "</data_packet>" +
                              "</bulk_sending>";

                // Create request
                HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(createdURL);
                myReq.Method      = "POST";
                myReq.ContentType = "application/x-www-form-urlencoded";//important

                // Send data with request
                byte[] bytes = Encoding.UTF8.GetBytes(data);
                myReq.ContentLength = bytes.Length;

                using (Stream putStream = myReq.GetRequestStream())
                {
                    putStream.Write(bytes, 0, bytes.Length);
                }

                // Get response from the SMS Gateway Server and read the answer
                HttpWebResponse        myResp           = (HttpWebResponse)myReq.GetResponse();
                System.IO.StreamReader respStreamReader = new System.IO.StreamReader(myResp.GetResponseStream());
                string responseString = respStreamReader.ReadToEnd();
                respStreamReader.Close();
                myResp.Close();

                // Check response value
                System.IO.MemoryStream ms     = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(responseString));
                System.Xml.XmlReader   reader = System.Xml.XmlReader.Create(ms);

                string statusCode = "";

                while (reader.Read())
                {
                    if (reader.NodeType == XmlNodeType.Element)
                    {
                        if (reader.Name == "status_code")
                        {
                            reader.Read();
                            statusCode = Convert.ToString(reader.Value);
                            try
                            {
                                sms.ResponseCode = Convert.ToInt32(statusCode);
                                LogMessage("Response status code is " + statusCode + ".");
                            }
                            catch (Exception ex)
                            {
                                LogMessage("error in convert status code is " + statusCode + ".");
                            }
                        }
                        if (reader.Name == "transaction_id")
                        {
                            reader.Read();
                            sms.TransactionId = Convert.ToString(reader.Value);
                            LogMessage("Response transactionId is " + sms.TransactionId + ".");
                        }
                    }
                }

                if (statusCode == "2200")
                {
                    sms.SentStatus = (int)VaaaN.MLFF.Libraries.CommonLibrary.Constants.SMSSentStatus.Sent;
                }

                sms.GatewayResponse = responseString;

                LogMessage("Response:" + responseString);
                LogMessage("Message sent successfully to mobile.");
            }
            catch (Exception ex)
            {
                //if sending request or getting response is not successful the SMS Gateway Server may do not run
                LogMessage("Failed to send message to customer." + ex.Message);
            }
            #endregion

            return(sms);
        }
        void IXmlSerializable.ReadXml(System.Xml.XmlReader reader)
        {
            LinkItem item = new LinkItem();

            while (reader.IsStartElement())
            {
                reader.MoveToContent();
                reader.Read();

                if (reader.IsStartElement("Id"))
                {
                    reader.MoveToContent();
                    item.Id = int.Parse(reader.ReadString());
                    reader.MoveToContent();
                    reader.ReadEndElement();
                }
                else
                {
                    throw new XmlException("ExpectedElementMissing: Id element was expected.");
                }

                if (reader.IsStartElement("Title"))
                {
                    reader.MoveToContent();
                    item.Title = reader.ReadString();
                    reader.MoveToContent();
                    reader.ReadEndElement();
                }
                else
                {
                    throw new XmlException("ExpectedElementMissing: Title element was expected.");
                }

                if (reader.IsStartElement("Description"))
                {
                    reader.MoveToContent();
                    item.Description = reader.ReadString();
                    reader.MoveToContent();
                    reader.ReadEndElement();
                }
                else
                {
                    throw new XmlException("ExpectedElementMissing: Description element was expected.");
                }

                if (reader.IsStartElement("DateStart"))
                {
                    reader.MoveToContent();
                    reader.Read();
                    item.DateStart = reader.ReadContentAsDateTime();
                    reader.MoveToContent();
                    reader.ReadEndElement();
                }
                else
                {
                    throw new XmlException("ExpectedElementMissing: DateStart element was expected.");
                }

                if (reader.IsStartElement("DateEnd"))
                {
                    reader.MoveToContent();
                    reader.Read();
                    item.DateEnd = reader.ReadContentAsDateTime();
                    reader.MoveToContent();
                    reader.ReadEndElement();
                }
                // optional

                if (reader.IsStartElement("Url"))
                {
                    reader.MoveToContent();
                    item.Url = reader.ReadString();

                    reader.MoveToContent();
                    reader.ReadEndElement();
                }
                else
                {
                    throw new XmlException("ExpectedElementMissing: Url element was expected.");
                }

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


            this.m_linkItem = item;
        }
Example #39
0
        public static List <XmlReadInstructions> AnalyseXmlReader(System.Xml.XmlReader reader, bool globalUniqueColumnNames)
        {
            var root    = new Node();
            var current = root;

            var resultSets = new Dictionary <string, Node>();

            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                case XmlNodeType.Element:
                    current = current.SubElement(reader.Name);
                    if (reader.HasAttributes)
                    {
                        reader.MoveToFirstAttribute();
                        do
                        {
                            current.Attribute(reader.Name);
                        } while (reader.MoveToNextAttribute());
                        reader.MoveToElement();
                    }
                    if (current.CurrentCount > 1)
                    {
                        string xpath = current.AbsXPath;
                        if (!resultSets.ContainsKey(xpath))
                        {
                            resultSets[xpath]    = current;
                            current.IsRepetetive = true;
                        }
                    }
                    if (reader.IsEmptyElement)
                    {
                        current = current.Parent;
                    }
                    break;

                case XmlNodeType.Text:
                    if (!String.IsNullOrWhiteSpace(reader.Value))
                    {
                        current.HasText = true;
                    }
                    break;

                case XmlNodeType.XmlDeclaration:
                case XmlNodeType.ProcessingInstruction:
                case XmlNodeType.Comment:
                    continue;

                case XmlNodeType.EndElement:
                    current = current.Parent;
                    break;
                }
            }

            // remove repetetive parents. Remains only innermost repetetives
            foreach (var resultSet in resultSets.Values.ToList())
            {
                var node = resultSet;
                node = node.Parent;
                while (node != null && !node.IsRepetetive)
                {
                    node = node.Parent;
                }
                if (node != null)
                {
                    resultSets.Remove(node.AbsXPath);
                    node.IsRepetetive = false;
                }
            }

            if (!resultSets.Any())
            {
                resultSets["/"] = root;
            }

            var res             = new List <XmlReadInstructions>();
            var addedColumns    = new HashSet <string>();
            var collectionNames = new HashSet <string>();

            foreach (var resultSet in resultSets.Values)
            {
                var instruction = new XmlReadInstructions();
                instruction.XPath = resultSet.AbsXPath ?? "/";

                string collectionName = resultSet.Name;
                if (collectionNames.Contains(collectionName))
                {
                    int index = 2;
                    while (collectionNames.Contains(collectionName + index))
                    {
                        index++;
                    }
                    collectionName = collectionName + index;
                }
                instruction.CollectionName = collectionName;

                if (!globalUniqueColumnNames)
                {
                    addedColumns.Clear();
                }

                CollectColumns(instruction, root, addedColumns, resultSet);
                if (resultSet != root)
                {
                    CollectColumns(instruction, resultSet, addedColumns, resultSet);
                }

                res.Add(instruction);
            }

            return(res);
        }
Example #40
0
        private void ReadIntegrator(ref XmlReadState state, System.Xml.XmlReader node)
        {
            node.Read();
            /* \todo AA sample stuff */
            var boolvar   = false;
            var intvar    = 0;
            var floatvar  = 0.0f;
            var stringvar = "";

            Utilities.Instance.get_bool(ref boolvar, node.GetAttribute("branched"));
            state.Scene.Integrator.IntegratorMethod = boolvar ? IntegratorMethod.BranchedPath : IntegratorMethod.Path;

            if (Utilities.Instance.get_bool(ref boolvar, node.GetAttribute("sample_all_lights_direct")))
            {
                state.Scene.Integrator.SampleAllLightsDirect = boolvar;
            }
            if (Utilities.Instance.get_bool(ref boolvar, node.GetAttribute("sample_all_lights_indirect")))
            {
                state.Scene.Integrator.SampleAllLightsIndirect = boolvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("diffuse_samples")))
            {
                state.Scene.Integrator.DiffuseSamples = intvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("glossy_samples")))
            {
                state.Scene.Integrator.GlossySamples = intvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("transmission_samples")))
            {
                state.Scene.Integrator.TransmissionSamples = intvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("ao_samples")))
            {
                state.Scene.Integrator.AoSamples = intvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("mesh_light_samples")))
            {
                state.Scene.Integrator.MeshLightSamples = intvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("subsurface_samples")))
            {
                state.Scene.Integrator.SubsurfaceSamples = intvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("volume_samples")))
            {
                state.Scene.Integrator.VolumeSamples = intvar;
            }

            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("min_bounce")))
            {
                state.Scene.Integrator.MinBounce = intvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("max_bounce")))
            {
                state.Scene.Integrator.MaxBounce = intvar;
            }

            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("max_diffuse_bounce")))
            {
                state.Scene.Integrator.MaxDiffuseBounce = intvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("max_glossy_bounce")))
            {
                state.Scene.Integrator.MaxGlossyBounce = intvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("max_transmission_bounce")))
            {
                state.Scene.Integrator.MaxTransmissionBounce = intvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("max_volume_bounce")))
            {
                state.Scene.Integrator.MaxVolumeBounce = intvar;
            }

            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("transparent_min_bounce")))
            {
                state.Scene.Integrator.TransparentMinBounce = intvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("transparent_max_bounce")))
            {
                state.Scene.Integrator.TransparentMaxBounce = intvar;
            }
            if (Utilities.Instance.get_bool(ref boolvar, node.GetAttribute("transparent_shadows")))
            {
                state.Scene.Integrator.TransparentShadows = boolvar;
            }

            if (Utilities.Instance.get_float(ref floatvar, node.GetAttribute("volume_step_size")))
            {
                state.Scene.Integrator.VolumeStepSize = floatvar;
            }
            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("volume_max_steps")))
            {
                state.Scene.Integrator.VolumeMaxSteps = intvar;
            }

            /* \todo wrap caustics form separation
             *
             * if (Utilities.Instance.get_bool(ref boolvar, node.GetAttribute("caustics_reflective"))) state.Scene.Integrator.DoCausticsReflective = boolvar;
             * if (Utilities.Instance.get_bool(ref boolvar, node.GetAttribute("caustics_refractive"))) state.Scene.Integrator.DoCausticsRefractive = boolvar;
             */
            if (Utilities.Instance.get_bool(ref boolvar, node.GetAttribute("no_caustics")))
            {
                state.Scene.Integrator.NoCaustics = boolvar;
            }
            if (Utilities.Instance.get_float(ref floatvar, node.GetAttribute("filter_glossy")))
            {
                state.Scene.Integrator.FilterGlossy = floatvar;
            }

            if (Utilities.Instance.get_int(ref intvar, node.GetAttribute("seed")))
            {
                state.Scene.Integrator.Seed = intvar;
            }
            if (Utilities.Instance.get_float(ref floatvar, node.GetAttribute("sample_clamp_direct")))
            {
                state.Scene.Integrator.SampleClampDirect = floatvar;
            }
            if (Utilities.Instance.get_float(ref floatvar, node.GetAttribute("sample_clamp_indirect")))
            {
                state.Scene.Integrator.SampleClampIndirect = floatvar;
            }

            if (Utilities.Instance.read_string(ref stringvar, node.GetAttribute("sampling_pattern")))
            {
                state.Scene.Integrator.SamplingPattern = stringvar.Equals("sobol") ? SamplingPattern.Sobol : SamplingPattern.CMJ;
            }

            state.Scene.Integrator.TagForUpdate();
        }
Example #41
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);
        }
Example #42
0
        private void ReadScene(ref XmlReadState state, System.Xml.XmlReader node)
        {
            while (node.Read())
            {
                if (!node.IsStartElement())
                {
                    continue;
                }

                if (!state.Silent)
                {
                    Console.WriteLine("XML node: {0}", node.Name);
                }
                switch (node.Name)
                {
                case "camera":
                    ReadCamera(ref state, node.ReadSubtree());
                    break;

                case "background":
                    ReadBackground(ref state, node.ReadSubtree());
                    break;

                case "transform":
                    var transform_substate = new XmlReadState(state);
                    var t = transform_substate.Transform;
                    ReadTransform(node, ref t);
                    transform_substate.Transform = t;
                    node.Read();                             /* advance forward one, otherwise we'll end up in internal loop */
                    ReadScene(ref transform_substate, node.ReadSubtree());
                    break;

                case "lookat":
                    var lookat_substate = new XmlReadState(state);
                    var lat             = lookat_substate.Transform;
                    ReadLookAt(node, ref lat);
                    lookat_substate.Transform = lat;
                    node.Read();                             /* advance forward one, otherwise we'll end up in internal loop */
                    ReadScene(ref lookat_substate, node.ReadSubtree());
                    break;

                case "state":
                    var state_substate = new XmlReadState(state);
                    ReadState(ref state_substate, node.ReadSubtree());
                    node.Read();                             /* advance one forward */
                    ReadScene(ref state_substate, node.ReadSubtree());
                    break;

                case "integrator":
                    ReadIntegrator(ref state, node.ReadSubtree());
                    break;

                case "shader":
                    var shader_substate = new XmlReadState(state);
                    ReadShader(ref shader_substate, node.ReadSubtree());
                    break;

                case "mesh":
                    ReadMesh(ref state, node.ReadSubtree());
                    break;

                case "object":
                    ReadObject(ref state, node.ReadSubtree());
                    break;

                case "light":
                    ReadLight(ref state, node.ReadSubtree());
                    break;

                case "include":
                    var src = node.GetAttribute("src");
                    if (!string.IsNullOrEmpty(src))
                    {
                        ReadInclude(ref state, src);
                    }
                    break;

                default:
                    Console.WriteLine("Uknown node {0}", node.Name);
                    break;
                }
            }
        }
Example #43
0
        public bool FromXml(ref System.Xml.XmlReader xr)
        {
            bool results = false;

            try
            {
                while (xr.Read())
                {
                    if (xr.IsStartElement())
                    {
                        if (!xr.IsEmptyElement)
                        {
                            switch (xr.Name)
                            {
                            case "IsNonShipping":
                                xr.Read();
                                this.IsNonShipping = bool.Parse(xr.ReadString());
                                break;

                            case "ShipSeparately":
                                xr.Read();
                                this.ShipSeparately = bool.Parse(xr.ReadString());
                                break;

                            case "ExtraShipFee":
                                xr.Read();
                                this.ExtraShipFee = decimal.Parse(xr.ReadString());
                                break;

                            case "Weight":
                                xr.Read();
                                this.Weight = decimal.Parse(xr.ReadString());
                                break;

                            case "Length":
                                xr.Read();
                                this.Length = decimal.Parse(xr.ReadString());
                                break;

                            case "Width":
                                xr.Read();
                                this.Width = decimal.Parse(xr.ReadString());
                                break;

                            case "Height":
                                xr.Read();
                                this.Height = decimal.Parse(xr.ReadString());
                                break;

                            case "ShippingScheduleId":
                                xr.Read();
                                this.ShippingScheduleId = long.Parse(xr.ReadString());
                                break;

                            case "ShippingSource":
                                xr.Read();
                                this.ShippingSource = (ShippingMode)int.Parse(xr.ReadString());
                                break;

                            case "ShippingSourceId":
                                xr.Read();
                                this.ShippingSourceId = xr.ReadString();
                                break;
                            }
                        }
                    }
                }

                results = true;
            }

            catch (XmlException XmlEx)
            {
                EventLog.LogEvent(XmlEx);
                results = false;
            }

            return(results);
        }
Example #44
0
    static void AddElementToList(string in_currentPathInProj, System.Xml.XmlReader in_reader, AssetType in_type, LinkedList <AkWwiseProjectData.PathElement> in_pathAndIcons, int in_wwuIndex)
    {
        if (in_type.RootDirectoryName == "Events" || in_type.RootDirectoryName == "Master-Mixer Hierarchy" || in_type.RootDirectoryName == "SoundBanks" || in_type.RootDirectoryName == "Game Parameters" || in_type.RootDirectoryName == "Triggers" || in_type.RootDirectoryName == "Virtual Acoustics")
        {
            AkWwiseProjectData.Event valueToAdd = new AkWwiseProjectData.Event();

            valueToAdd.Name         = in_reader.GetAttribute("Name");
            valueToAdd.Guid         = new System.Guid(in_reader.GetAttribute("ID")).ToByteArray();
            valueToAdd.ID           = (int)AkUtilities.ShortIDGenerator.Compute(valueToAdd.Name);
            valueToAdd.PathAndIcons = new List <AkWwiseProjectData.PathElement>(in_pathAndIcons);

            switch (in_type.RootDirectoryName)
            {
            case "Events":
                valueToAdd.Path = System.IO.Path.Combine(in_currentPathInProj, valueToAdd.Name);
                valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.EVENT));
                AkWwiseProjectInfo.GetData().EventWwu[in_wwuIndex].List.Add(valueToAdd);
                break;

            case "SoundBanks":
                valueToAdd.Path = System.IO.Path.Combine(in_currentPathInProj, valueToAdd.Name);
                valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.SOUNDBANK));
                AkWwiseProjectInfo.GetData().BankWwu[in_wwuIndex].List.Add(valueToAdd);
                break;

            case "Master-Mixer Hierarchy":
                valueToAdd.Path = in_currentPathInProj;
                AkWwiseProjectInfo.GetData().AuxBusWwu[in_wwuIndex].List.Add(valueToAdd);
                break;

            case "Game Parameters":
                valueToAdd.Path = System.IO.Path.Combine(in_currentPathInProj, valueToAdd.Name);
                valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.GAMEPARAMETER));
                AkWwiseProjectInfo.GetData().RtpcWwu[in_wwuIndex].List.Add(valueToAdd);
                break;

            case "Triggers":
                valueToAdd.Path = System.IO.Path.Combine(in_currentPathInProj, valueToAdd.Name);
                valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.TRIGGER));
                AkWwiseProjectInfo.GetData().TriggerWwu[in_wwuIndex].List.Add(valueToAdd);
                break;

            case "Virtual Acoustics":
                valueToAdd.Path = System.IO.Path.Combine(in_currentPathInProj, valueToAdd.Name);
                valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.ACOUSTICTEXTURE));
                AkWwiseProjectInfo.GetData().AcousticTextureWwu[in_wwuIndex].List.Add(valueToAdd);
                break;
            }

            in_reader.Read();
        }
        else if (in_type.RootDirectoryName == "States" || in_type.RootDirectoryName == "Switches")
        {
            var XmlElement = System.Xml.Linq.XNode.ReadFrom(in_reader) as System.Xml.Linq.XElement;

            AkWwiseProjectData.GroupValue      valueToAdd = new AkWwiseProjectData.GroupValue();
            AkWwiseProjectData.WwiseObjectType SubElemIcon;
            valueToAdd.Name         = XmlElement.Attribute("Name").Value;
            valueToAdd.Guid         = new System.Guid(XmlElement.Attribute("ID").Value).ToByteArray();
            valueToAdd.ID           = (int)AkUtilities.ShortIDGenerator.Compute(valueToAdd.Name);
            valueToAdd.Path         = System.IO.Path.Combine(in_currentPathInProj, valueToAdd.Name);
            valueToAdd.PathAndIcons = new List <AkWwiseProjectData.PathElement>(in_pathAndIcons);

            if (in_type.RootDirectoryName == "States")
            {
                SubElemIcon = AkWwiseProjectData.WwiseObjectType.STATE;
                valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.STATEGROUP));
            }
            else
            {
                SubElemIcon = AkWwiseProjectData.WwiseObjectType.SWITCH;
                valueToAdd.PathAndIcons.Add(new AkWwiseProjectData.PathElement(valueToAdd.Name, AkWwiseProjectData.WwiseObjectType.SWITCHGROUP));
            }

            var ChildrenList = System.Xml.Linq.XName.Get("ChildrenList");
            var ChildElem    = System.Xml.Linq.XName.Get(in_type.ChildElementName);

            var ChildrenElement = XmlElement.Element(ChildrenList);
            if (ChildrenElement != null)
            {
                foreach (var element in ChildrenElement.Elements(ChildElem))
                {
                    if (element.Name == in_type.ChildElementName)
                    {
                        string elementName = element.Attribute("Name").Value;
                        valueToAdd.values.Add(elementName);
                        valueToAdd.ValueGuids.Add(new AkWwiseProjectData.ByteArrayWrapper(new System.Guid(element.Attribute("ID").Value).ToByteArray()));
                        valueToAdd.valueIDs.Add((int)AkUtilities.ShortIDGenerator.Compute(elementName));
                        valueToAdd.ValueIcons.Add(new AkWwiseProjectData.PathElement(elementName, SubElemIcon));
                    }
                }
            }

            if (in_type.RootDirectoryName == "States")
            {
                AkWwiseProjectInfo.GetData().StateWwu[in_wwuIndex].List.Add(valueToAdd);
            }
            else
            {
                AkWwiseProjectInfo.GetData().SwitchWwu[in_wwuIndex].List.Add(valueToAdd);
            }
        }
        else
        {
            Debug.LogError("WwiseUnity: Unknown asset type in WWU parser");
        }
    }
Example #45
0
    int RecurseWorkUnit(AssetType in_type, System.IO.FileInfo in_workUnit, string in_currentPathInProj, string in_currentPhysicalPath, LinkedList <AkWwiseProjectData.PathElement> in_pathAndIcons, string in_parentPhysicalPath = "")
    {
        m_WwuToProcess.Remove(in_workUnit.FullName);
        System.Xml.XmlReader reader = null;
        int wwuIndex = -1;

        try
        {
            //Progress bar stuff
            string msg = "Parsing Work Unit " + in_workUnit.Name;
            EditorUtility.DisplayProgressBar(s_progTitle, msg, (float)m_currentWwuCnt / (float)m_totWwuCnt);
            m_currentWwuCnt++;

            in_currentPathInProj = System.IO.Path.Combine(in_currentPathInProj, System.IO.Path.GetFileNameWithoutExtension(in_workUnit.Name));
            in_pathAndIcons.AddLast(new AkWwiseProjectData.PathElement(System.IO.Path.GetFileNameWithoutExtension(in_workUnit.Name), AkWwiseProjectData.WwiseObjectType.WORKUNIT));
            string WwuPhysicalPath = System.IO.Path.Combine(in_currentPhysicalPath, in_workUnit.Name);

            AkWwiseProjectData.WorkUnit wwu = null;

            ReplaceWwuEntry(WwuPhysicalPath, in_type, out wwu, out wwuIndex);

            wwu.ParentPhysicalPath = in_parentPhysicalPath;
            wwu.PhysicalPath       = WwuPhysicalPath;
            wwu.Guid = "";
            wwu.SetLastTime(System.IO.File.GetLastWriteTime(in_workUnit.FullName));

            reader = System.Xml.XmlReader.Create(in_workUnit.FullName);

            reader.MoveToContent();
            reader.Read();
            while (!reader.EOF && reader.ReadState == System.Xml.ReadState.Interactive)
            {
                if (reader.NodeType == System.Xml.XmlNodeType.Element && reader.Name.Equals("WorkUnit"))
                {
                    if (wwu.Guid.Equals(""))
                    {
                        wwu.Guid = reader.GetAttribute("ID");
                    }

                    string persistMode = reader.GetAttribute("PersistMode");
                    if (persistMode == "Reference")
                    {
                        // ReadFrom advances the reader
                        var    matchedElement  = System.Xml.Linq.XNode.ReadFrom(reader) as System.Xml.Linq.XElement;
                        string newWorkUnitPath = System.IO.Path.Combine(in_workUnit.Directory.FullName, matchedElement.Attribute("Name").Value + ".wwu");
                        var    newWorkUnit     = new System.IO.FileInfo(newWorkUnitPath);

                        // Parse the referenced Work Unit
                        if (m_WwuToProcess.Contains(newWorkUnit.FullName))
                        {
                            RecurseWorkUnit(in_type, newWorkUnit, in_currentPathInProj, in_currentPhysicalPath, in_pathAndIcons, WwuPhysicalPath);
                        }
                    }
                    else
                    {
                        // If the persist mode is "Standalone" or "Nested", it means the current XML tag
                        // is the one corresponding to the current file. We can ignore it and advance the reader
                        reader.Read();
                    }
                }
                else if (reader.NodeType == System.Xml.XmlNodeType.Element && reader.Name.Equals("AuxBus"))
                {
                    in_currentPathInProj = System.IO.Path.Combine(in_currentPathInProj, reader.GetAttribute("Name"));
                    in_pathAndIcons.AddLast(new AkWwiseProjectData.PathElement(reader.GetAttribute("Name"), AkWwiseProjectData.WwiseObjectType.AUXBUS));
                    bool isEmpty = reader.IsEmptyElement;
                    AddElementToList(in_currentPathInProj, reader, in_type, in_pathAndIcons, wwuIndex);

                    if (isEmpty)
                    {
                        in_currentPathInProj = in_currentPathInProj.Remove(in_currentPathInProj.LastIndexOf(System.IO.Path.DirectorySeparatorChar));
                        in_pathAndIcons.RemoveLast();
                    }
                }
                // Busses and folders act the same for the Hierarchy: simply add them to the path
                else if (reader.NodeType == System.Xml.XmlNodeType.Element && (reader.Name.Equals("Folder") || reader.Name.Equals("Bus")))
                {
                    //check if node has children
                    if (!reader.IsEmptyElement)
                    {
                        // Add the folder/bus to the path
                        in_currentPathInProj = System.IO.Path.Combine(in_currentPathInProj, reader.GetAttribute("Name"));
                        if (reader.Name.Equals("Folder"))
                        {
                            in_pathAndIcons.AddLast(new AkWwiseProjectData.PathElement(reader.GetAttribute("Name"), AkWwiseProjectData.WwiseObjectType.FOLDER));
                        }
                        else if (reader.Name.Equals("Bus"))
                        {
                            in_pathAndIcons.AddLast(new AkWwiseProjectData.PathElement(reader.GetAttribute("Name"), AkWwiseProjectData.WwiseObjectType.BUS));
                        }
                    }
                    // Advance the reader
                    reader.Read();
                }
                else if (reader.NodeType == System.Xml.XmlNodeType.EndElement && (reader.Name.Equals("Folder") || reader.Name.Equals("Bus") || reader.Name.Equals("AuxBus")))
                {
                    // Remove the folder/bus from the path
                    in_currentPathInProj = in_currentPathInProj.Remove(in_currentPathInProj.LastIndexOf(System.IO.Path.DirectorySeparatorChar));
                    in_pathAndIcons.RemoveLast();

                    // Advance the reader
                    reader.Read();
                }
                else if (reader.NodeType == System.Xml.XmlNodeType.Element && reader.Name.Equals(in_type.XmlElementName))
                {
                    // Add the element to the list
                    AddElementToList(in_currentPathInProj, reader, in_type, in_pathAndIcons, wwuIndex);
                }
                else
                {
                    reader.Read();
                }
            }
            // Sort the newly populated Wwu alphabetically
            SortWwu(in_type.RootDirectoryName, wwuIndex);
        }
        catch (System.Exception e)
        {
            Debug.LogError(e.ToString());
            wwuIndex = -1;
        }

        if (reader != null)
        {
            reader.Close();
        }

        in_pathAndIcons.RemoveLast();
        return(wwuIndex);
    }
Example #46
0
        public override void ReadXml(System.Xml.XmlReader reader)
        {
            using (System.Xml.XmlReader subTree = reader.ReadSubtree()) {
                subTree.Read();
                string tmp = subTree.ReadOuterXml();

                //seek for template tag
                using (XmlReader xr = new XmlTextReader(tmp, XmlNodeType.Element, null)) {
                    xr.Read();
                    base.ReadXml(xr);
                }
                //process content
                using (XmlReader xr = new XmlTextReader(tmp, XmlNodeType.Element, null)) {
                    xr.Read();                      //skip current node

                    while (!xr.EOF)
                    {
                        xr.Read();                          //read first child

                        if (!xr.IsStartElement())
                        {
                            continue;
                        }

                        if (xr.Name == "Template")
                        {
                            xr.Skip();
                            if (!xr.IsStartElement())
                            {
                                continue;
                            }
                        }

                        Type t = Type.GetType("Crow." + xr.Name);
                        if (t == null)
                        {
                            Assembly a = Assembly.GetEntryAssembly();
                            foreach (Type expT in a.GetExportedTypes())
                            {
                                if (expT.Name == xr.Name)
                                {
                                    t = expT;
                                    break;
                                }
                            }
                        }
                        if (t == null)
                        {
                            throw new Exception(xr.Name + " type not found");
                        }

                        GraphicObject go = (GraphicObject)Activator.CreateInstance(t);

                        (go as IXmlSerializable).ReadXml(xr);

                        Content = go;

                        xr.Read();                          //closing tag
                    }
                }
            }
        }
Example #47
0
        private CategoryDirectory ReadResult(System.Xml.XmlReader reader, bool securityTrimmingEnabled)
        {
            CategoryDirectory result = null;

            if (reader.NodeType == System.Xml.XmlNodeType.Element)
            {
                if (reader.LocalName == "category" && reader.NamespaceURI == ns)
                {
                    if (DeterminVisible(reader) && DeterminSecure(securityTrimmingEnabled, reader))
                    {
                        result = new CategoryDirectory();
                        if (reader.MoveToAttribute("name"))
                        {
                            result.Name = reader.Value;
                        }

                        if (reader.MoveToAttribute("title"))
                        {
                            result.Title = reader.Value;
                        }

                        reader.MoveToElement();
                    }
                }
                else if (reader.LocalName == "item" && reader.NamespaceURI == ns)
                {
                    if (DeterminVisible(reader) && DeterminSecure(securityTrimmingEnabled, reader))
                    {
                        result = new CategoryLink();
                        if (reader.MoveToAttribute("name"))
                        {
                            result.Name = reader.Value;
                        }
                        if (reader.MoveToAttribute("title"))
                        {
                            result.Title = reader.Value;
                        }
                        if (reader.MoveToAttribute("group"))
                        {
                            ((CategoryLink)result).Group = reader.ReadContentAsInt();
                        }
                        if (reader.MoveToAttribute("href"))
                        {
                            ((CategoryLink)result).Url = reader.Value;
                        }
                        if (reader.MoveToAttribute("role"))
                        {
                            ((CategoryLink)result).Role = reader.Value;
                        }
                        if (reader.MoveToAttribute("feature"))
                        {
                            ((CategoryLink)result).Feature = reader.Value;
                        }
                    }
                }
                else if (reader.LocalName == "group" && reader.NamespaceURI == ns)
                {
                    if (DeterminVisible(reader) && DeterminSecure(securityTrimmingEnabled, reader))
                    {
                        result = new CategoryGroup();
                        if (reader.MoveToAttribute("name"))
                        {
                            result.Name = reader.Value;
                        }
                        if (reader.MoveToAttribute("title"))
                        {
                            result.Title = reader.Value;
                        }
                        reader.MoveToElement();
                        ArrayList list = new ArrayList();

                        ReadSubItems(reader, list, securityTrimmingEnabled);
                        ((CategoryGroup)result).Categories = (CategoryDirectory[])list.ToArray(typeof(CategoryDirectory));
                    }
                    else
                    {
                        var level = reader.Depth;
                        while (reader.Read() && reader.Depth > level)
                        {
                            reader.Skip(); //跳过其任何子节点
                        }
                    }
                }
            }

            reader.MoveToElement();

            return(result);
        }
Example #48
0
        /// <summary>
        /// Set the data of the object from its XML representation.
        /// </summary>
        /// <param name="reader">The <see cref="T:System.Xml.XmlReader" />-stream containing the data for ther object.</param>
        public void ReadXml(System.Xml.XmlReader reader)
        {
            if (reader.LocalName == GetType().Name)
            {
                while (reader.Read())
                {
                    switch (reader.LocalName)
                    {
                    case "Name":

                        Name = reader.ReadString();
                        break;

                    case "Curve":

                        string XmlData = reader.ReadString();

                        CurveTypeEnum CurveType = CurveTypeEnum.Linear;

                        if (Enum.TryParse(XmlData, true, out CurveType))
                        {
                            Data = BuildCurve(CurveType);
                        }
                        else
                        {
                            string[] V = XmlData.Split(new char[] { ',' });
                            if (V.Length == 256)
                            {
                                int Cnt = V.Count(Value => !Value.IsUInt() || Value.ToUInt() > 255);
                                if (Cnt == 0)
                                {
                                    for (int i = 0; i < 255; i++)
                                    {
                                        Data[i] = (byte)V[i].ToInteger();
                                    }
                                }
                                else
                                {
                                    throw new Exception("{0} value(s) in the curve data for fading curve {1} are not numeric values between 0-255. Supplied data was {2}.".Build(Cnt, Name, XmlData));
                                }
                            }
                            else
                            {
                                if (V.Length > 1)
                                {
                                    throw new Exception("Cant parse data for curve {0}. 256 values are required, but {1} values have been found. Supplied data was {2}.".Build(Name, V.Length, XmlData));
                                }
                                else
                                {
                                    throw new Exception("Cant parse data for curve {0}. One of the values from the CurveTypeEnum or 256 values between 0-255 are expected. Supplied data was: {1}.".Build(Name, XmlData));
                                }
                            }
                        }
                        break;

                    default:
                        break;
                    }
                }
            }
        }
Example #49
0
        public override int Read(System.Xml.XmlReader reader)
        {
            int sequence = 0;

            while (reader.Read())
            {
                if ((reader.NodeType == XmlNodeType.Comment) ||
                    (reader.NodeType == XmlNodeType.Whitespace))
                {
                    continue;
                }

                if (sequence == 0)
                {
                    if ((string.Compare(reader.Name, _InnerName) != 0) ||
                        (reader.NodeType != XmlNodeType.Element) ||
                        (reader.IsEmptyElement))
                    {
                        if (string.Compare(_InnerName, "seriesAuthor") == 0)
                        {
                            if ((string.Compare(reader.Name, Name) == 0) &&
                                (reader.NodeType == XmlNodeType.EndElement))
                            {
                                _InnerName = null;

                                return(0);
                            }

                            int ret = aECGElement.ReadOne(this, reader);

                            if (ret != 0)
                            {
                                return((ret > 0) ? 2 + ret : ret);
                            }

                            continue;
                        }
                        else
                        {
                            return(1);
                        }
                    }

                    sequence++;
                }
                else if (sequence == 1)
                {
                    int ret = aECGElement.ReadOne(this, reader);

                    if (ret != 0)
                    {
                        return((ret > 0) ? 2 + ret : ret);
                    }

                    if ((string.Compare(reader.Name, _InnerName) == 0) &&
                        (reader.NodeType == XmlNodeType.EndElement))
                    {
                        sequence++;
                    }
                }
                else
                {
                    if ((string.Compare(reader.Name, Name) != 0) ||
                        (reader.NodeType != XmlNodeType.EndElement) ||
                        reader.IsEmptyElement)
                    {
                        return(2);
                    }

                    return(0);
                }
            }

            return(-1);
        }
Example #50
0
        private void ReadCamera(ref XmlReadState state, System.Xml.XmlReader node)
        {
            node.Read();
            var width         = node.GetAttribute("width");
            var height        = node.GetAttribute("height");
            var type          = node.GetAttribute("type");
            var fov           = node.GetAttribute("fov");
            var nearclip      = node.GetAttribute("nearclip");
            var farclip       = node.GetAttribute("farclip");
            var aperturesize  = node.GetAttribute("aperturesize");
            var focaldistance = node.GetAttribute("focaldistance");
            var shuttertime   = node.GetAttribute("shuttertime");
            var panorama_type = node.GetAttribute("panorama_type");
            var fisheye_fov   = node.GetAttribute("fisheye_fov");
            var fisheye_lens  = node.GetAttribute("fisheye_lens");
            var sensorwidth   = node.GetAttribute("sensorwidth");
            var sensorheight  = node.GetAttribute("sensorheight");

            if (!string.IsNullOrEmpty(width) && !string.IsNullOrEmpty(height))
            {
                Client.Scene.Camera.Size = new Size(int.Parse(width), int.Parse(height));
            }

            if (!string.IsNullOrEmpty(type))
            {
                CameraType camera_type;
                if (Enum.TryParse(type, true, out camera_type))
                {
                    Client.Scene.Camera.Type = camera_type;
                }
            }

            if (!string.IsNullOrEmpty(panorama_type))
            {
                PanoramaType panoramatype;
                if (Enum.TryParse(panorama_type, true, out panoramatype))
                {
                    Client.Scene.Camera.PanoramaType = panoramatype;
                }
            }

            if (!string.IsNullOrEmpty(fov))
            {
                Client.Scene.Camera.Fov = float.Parse(fov, NumberFormatInfo);
            }

            if (!string.IsNullOrEmpty(nearclip))
            {
                Client.Scene.Camera.NearClip = float.Parse(nearclip, NumberFormatInfo);
            }

            if (!string.IsNullOrEmpty(farclip))
            {
                Client.Scene.Camera.FarClip = float.Parse(farclip, NumberFormatInfo);
            }

            if (!string.IsNullOrEmpty(aperturesize))
            {
                Client.Scene.Camera.ApertureSize = float.Parse(aperturesize, NumberFormatInfo);
            }

            if (!string.IsNullOrEmpty(focaldistance))
            {
                Client.Scene.Camera.FocalDistance = float.Parse(focaldistance, NumberFormatInfo);
            }

            if (!string.IsNullOrEmpty(shuttertime))
            {
                Client.Scene.Camera.ShutterTime = float.Parse(shuttertime, NumberFormatInfo);
            }

            if (!string.IsNullOrEmpty(fisheye_fov))
            {
                Client.Scene.Camera.FishEyeFov = float.Parse(fisheye_fov, NumberFormatInfo);
            }

            if (!string.IsNullOrEmpty(fisheye_lens))
            {
                Client.Scene.Camera.FishEyeLens = float.Parse(fisheye_lens, NumberFormatInfo);
            }

            if (!string.IsNullOrEmpty(sensorwidth))
            {
                Client.Scene.Camera.SensorWidth = float.Parse(sensorwidth, NumberFormatInfo);
            }

            if (!string.IsNullOrEmpty(sensorheight))
            {
                Client.Scene.Camera.SensorHeight = float.Parse(sensorheight, NumberFormatInfo);
            }

            Client.Scene.Camera.Matrix = state.Transform;
            Client.Scene.Camera.ComputeAutoViewPlane();
            Client.Scene.Camera.Update();
        }
Example #51
0
        private void LoadAttributes(System.Xml.XmlReader reader)
        {
            while (reader.MoveToNextAttribute())
            {
                switch (reader.LocalName)
                {
                case "name":
                    Description = reader.Value;
                    break;

                case "place_id":
                    PlaceId = reader.Value;
                    break;

                case "place_url":
                    PlaceUrl = reader.Value;
                    break;

                case "place_type_id":
                    PlaceType = (PlaceType)reader.ReadContentAsInt();
                    break;

                case "place_type":
                    PlaceType = (PlaceType)Enum.Parse(typeof(PlaceType), reader.Value, true);
                    break;

                case "woeid":
                    WoeId = reader.Value;
                    break;

                case "woe_name":
                    WoeName = reader.Value;
                    break;

                case "latitude":
                    Latitude = reader.ReadContentAsDouble();
                    break;

                case "longitude":
                    Longitude = reader.ReadContentAsDouble();
                    break;

                case "accuracy":
                    Accuracy = (GeoAccuracy)reader.ReadContentAsInt();
                    break;

                case "context":
                    Context = (GeoContext)reader.ReadContentAsInt();
                    break;

                case "timezone":
                    TimeZone = reader.Value;
                    break;

                case "has_shapedata":
                    HasShapeData = reader.Value == "1";
                    break;

                default:
                    UtilityMethods.CheckParsingException(reader);
                    break;
                }
            }

            reader.Read();
        }
Example #52
0
            public string[] ReadXML(string txt, string number)
            {
                string[] StrRecivedMessage = new string[2];
                int      i = 0;

                System.Xml.XmlReader objXMLReader = System.Xml.XmlReader.Create(new System.IO.StringReader(txt));

                string element    = string.Empty;
                string strSMS     = string.Empty;
                string strMessage = string.Empty;
                string strTmp     = string.Empty;
                bool   blnFindNo  = false;

                try
                {
                    while (objXMLReader.Read())
                    {
                        switch (objXMLReader.NodeType)
                        {
                        case XmlNodeType.Element:
                            element = objXMLReader.Name;
                            if (objXMLReader.HasAttributes)
                            {
                                while (objXMLReader.MoveToNextAttribute())
                                {
                                    if (element == "batch")
                                    {
                                    }
                                }
                            }
                            break;

                        case XmlNodeType.Text:
                            if (element == "status")
                            {
                                //i = i;
                                StrRecivedMessage[i] = objXMLReader.Value;
                            }
                            if (element == "time")
                            {
                                i = i + 1;
                                StrRecivedMessage[i] = objXMLReader.Value;
                                break;
                            }
                            break;

                        case XmlNodeType.CDATA:
                            if (element == "destAddr")
                            {
                                if (objXMLReader.Value != "+98" + number.Substring(1))
                                {
                                    continue;
                                }
                                else
                                {
                                    blnFindNo = true;
                                }

                                i = i + 1;
                                StrRecivedMessage[i] = objXMLReader.Value;
                            }
                            if (element == "origAddr")
                            {
                                i = i + 1;
                                StrRecivedMessage[i] = objXMLReader.Value;
                            }
                            else if (element == "message")
                            {
                                strTmp = objXMLReader.Value;
                            }
                            break;
                        }
                    }
                    ;
                    return(StrRecivedMessage);
                }
                catch (Exception)
                {
                    throw;
                }
            }
Example #53
0
        private void ReadLight(ref XmlReadState state, System.Xml.XmlReader node)
        {
            node.Read();

            Light light = new Light(Client, state.Scene, state.Shader);

            int    intval    = 0;
            float  floatval  = 0.0f;
            float4 float4val = new float4(0.0f);
            bool   boolval   = false;

            if (Utilities.Instance.get_int(ref intval, node.GetAttribute("type")))
            {
                light.Type = (LightType)intval;
            }
            if (Utilities.Instance.get_float(ref floatval, node.GetAttribute("spot_angle")))
            {
                light.SpotAngle = floatval;
            }
            if (Utilities.Instance.get_float(ref floatval, node.GetAttribute("spot_smooth")))
            {
                light.SpotSmooth = floatval;
            }

            if (Utilities.Instance.get_float(ref floatval, node.GetAttribute("sizeu")))
            {
                light.SizeU = floatval;
            }
            if (Utilities.Instance.get_float(ref floatval, node.GetAttribute("sizev")))
            {
                light.SizeV = floatval;
            }
            if (Utilities.Instance.get_float4(float4val, node.GetAttribute("axisu")))
            {
                light.AxisU = float4val;
            }
            if (Utilities.Instance.get_float4(float4val, node.GetAttribute("axisv")))
            {
                light.AxisV = float4val;
            }

            /* @todo
             * if(Utilities.Instance.get_bool(ref boolval, node.GetAttribute("is_portal")))
             * {
             * }
             */

            if (Utilities.Instance.get_float(ref floatval, node.GetAttribute("size")))
            {
                light.Size = floatval;
            }
            if (Utilities.Instance.get_float4(float4val, node.GetAttribute("dir")))
            {
                light.Direction = float4val;
            }
            if (Utilities.Instance.get_float4(float4val, node.GetAttribute("P")))
            {
                light.Location = state.Transform * float4val;
            }

            if (Utilities.Instance.get_bool(ref boolval, node.GetAttribute("cast_shadow")))
            {
                light.CastShadow = boolval;
            }
            if (Utilities.Instance.get_bool(ref boolval, node.GetAttribute("use_mis")))
            {
                light.UseMis = boolval;
            }
            if (Utilities.Instance.get_int(ref intval, node.GetAttribute("samples")))
            {
                light.Samples = (uint)intval;
            }
            if (Utilities.Instance.get_int(ref intval, node.GetAttribute("max_bounces")))
            {
                light.MaxBounces = (uint)intval;
            }

            /* @todo add ray visibility to light API
             * if(Utilities.Instance.get_bool(ref boolval, node.GetAttribute("use_diffuse")))
             * {
             *      light.UseDiffuse = boolval;
             * }
             * if(Utilities.Instance.get_bool(ref boolval, node.GetAttribute("use_glossy")))
             * {
             *      light.UseGlossy = boolval;
             * }
             * if(Utilities.Instance.get_bool(ref boolval, node.GetAttribute("use_transmission")))
             * {
             *      light.UseTransmission = boolval;
             * }
             * if(Utilities.Instance.get_bool(ref boolval, node.GetAttribute("use_scatter")))
             * {
             *      light.UseScatter = boolval;
             * }
             */

            light.TagUpdate();
        }
Example #54
0
        public override int Read(System.Xml.XmlReader reader)
        {
            int sequence = 0;

            while (reader.Read())
            {
                if ((reader.NodeType == XmlNodeType.Comment) ||
                    (reader.NodeType == XmlNodeType.Whitespace))
                {
                    continue;
                }

                if (sequence == 0)
                {
                    if ((string.Compare(reader.Name, Name) == 0) ||
                        (reader.NodeType == XmlNodeType.EndElement))
                    {
                        return(0);
                    }

                    if ((string.Compare(reader.Name, _InnerName) != 0) ||
                        (reader.NodeType != XmlNodeType.Element))
                    {
                        return(1);
                    }

                    sequence += reader.IsEmptyElement ? 2 : 1;
                }
                else if (sequence == 1)
                {
                    if (string.Compare(reader.Name, aECGSequence.SequenceName) == 0)
                    {
                        aECGSequence seq = new aECGSequence();

                        int ret = seq.Read(reader);

                        if (ret != 0)
                        {
                            return((ret > 0) ? 1 + ret : ret);
                        }

                        _Sets.Add(seq);
                    }
                    else if ((string.Compare(reader.Name, _InnerName) == 0) &&
                             (reader.NodeType == XmlNodeType.EndElement))
                    {
                        sequence--;
                    }
                    else
                    {
                        int ret = aECGElement.ReadOne(this, reader);

                        if (ret != 0)
                        {
                            return((ret > 0) ? 1 + ret : ret);
                        }
                    }
                }
            }

            return(-1);
        }
Example #55
0
        private void ReadMesh(ref XmlReadState state, System.Xml.XmlReader node)
        {
            node.Read();

            var name = node.GetAttribute("name");

            if (!state.Silent)
            {
                Console.WriteLine("Shader: {0}", node.GetAttribute("name"));
            }
            if (string.IsNullOrEmpty(name))
            {
                throw new MissingFieldException("<mesh> is missing 'name'");
            }

            var P      = node.GetAttribute("P");
            var UV     = node.GetAttribute("UV");
            var nverts = node.GetAttribute("nverts");
            var verts  = node.GetAttribute("verts");

            if (!state.Silent)
            {
                Console.WriteLine("{0}", node);
            }

            var has_uv = !string.IsNullOrEmpty(UV);

            float[] uvfloats = null;
            if (has_uv)
            {
                uvfloats = Utilities.Instance.parse_floats(UV);
            }
            var pfloats    = Utilities.Instance.parse_floats(P);
            var nvertsints = Utilities.Instance.parse_ints(nverts);
            var vertsints  = Utilities.Instance.parse_ints(verts);

            //var ob = new ccl.Object(Client) { Transform = state.Transform };
            var me = new Mesh(Client, state.Shader);

            //ob.Mesh = me;

            meshes.Add(name, me);

            me.SetVerts(ref pfloats);

            var index_offset = 0;
            /* count triangles */
            var fc = nvertsints.Aggregate(0, (total, next) =>
                                          next == 4 ? total + 2 : total + 1);

            float[] uvs = null;
            if (has_uv)
            {
                uvs = new float[fc * 3 * 2];
            }
            var uvoffs = 0;

            foreach (var t in nvertsints)
            {
                for (var j = 0; j < t - 2; j++)
                {
                    var v0 = vertsints[index_offset];
                    var v1 = vertsints[index_offset + j + 1];
                    var v2 = vertsints[index_offset + j + 2];

                    if (has_uv)
                    {
                        uvs[uvoffs]     = uvfloats[index_offset * 2];
                        uvs[uvoffs + 1] = uvfloats[index_offset * 2 + 1];
                        uvs[uvoffs + 2] = uvfloats[(index_offset + j + 1) * 2];
                        uvs[uvoffs + 3] = uvfloats[(index_offset + j + 1) * 2 + 1];
                        uvs[uvoffs + 4] = uvfloats[(index_offset + j + 2) * 2];
                        uvs[uvoffs + 5] = uvfloats[(index_offset + j + 2) * 2 + 1];

                        uvoffs += 6;
                    }

                    me.AddTri((uint)v0, (uint)v1, (uint)v2, state.Shader, state.Smooth);
                }

                index_offset += t;
            }

            if (has_uv)
            {
                me.SetUvs(ref uvs);
            }
        }
Example #56
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 #57
0
        public virtual void ReadXml(System.Xml.XmlReader reader)
        {
            string msg = null;

            reader.Read();
            string value = reader.ReadContentAsString();

            if (value == null || value.Length != CommonUtilities.XmlCharacterArray.Length)
            {
                msg = "bad write data in WriteChars ";
                if (value == null)
                {
                    msg += " value == null";
                }
                else
                {
                    msg += String.Format("original size {0} output size {1}", value.Length, CommonUtilities.XmlCharacterArray.Length);
                }
                throw new MyException(msg);
            }

            int    errorCount = 0;
            string firstMsg   = null;

            for (int i = 0; i < CommonUtilities.XmlCharacterArray.Length; i++)
            {
                char originalChar = CommonUtilities.XmlCharacterArray[i];
                if (CommonUtilities.XmlCharacterArray[i] != value[i])
                {
                    // special case: XML reader/writer might normalize \r or \r\n to \n (http://www.w3.org/TR/REC-xml#sec-line-ends)
                    if (value[i] == '\n' && CommonUtilities.XmlCharacterArray[i] == '\r')
                    {
                        // do nothing
                    }
                    else
                    {
                        errorCount++;
                        if (firstMsg == null)
                        {
                            firstMsg = String.Format("Error in string, location = {0}, originalCharacter code = {1}, return character code {2}",
                                                     i, (int)CommonUtilities.XmlCharacterArray[i], (int)value[i]);
                        }
                    }
                }
            }

            if (errorCount > 0)
            {
                throw new MyException(firstMsg);
            }

            int       counter      = 0;
            const int NODES_AT_END = 0;

            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 #58
0
        public override int Read(System.Xml.XmlReader reader)
        {
            if (reader.IsEmptyElement)
            {
                return(1);
            }

            Type = reader.GetAttribute("xsi:type");

            while (reader.Read())
            {
                if ((reader.NodeType == XmlNodeType.Comment) ||
                    (reader.NodeType == XmlNodeType.Whitespace))
                {
                    continue;
                }

                if ((string.Compare(reader.Name, "digits") == 0) &&
                    (reader.NodeType == XmlNodeType.Element) &&
                    !reader.IsEmptyElement)
                {
                    reader.Read();

                    int i = 0;

                    string[] temp = null;

                    try
                    {
                        temp = SplitValues(reader.Value, "-?[0-9]+");

                        Digits = new short[temp.Length];

                        for (; i < Digits.Length; i++)
                        {
                            Digits[i] = short.Parse(temp[i], System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.InvariantCulture.NumberFormat);
                        }
                    }
                    catch
                    {
                        return(3);
                    }

                    reader.Read();
                }
                else if (reader.IsEmptyElement)
                {
                    int ret = aECGElement.ReadOne(this, reader);

                    if (ret != 0)
                    {
                        return((ret > 0) ? 3 + ret : ret);
                    }
                }
                else if ((string.Compare(reader.Name, Name) == 0) &&
                         (reader.NodeType == XmlNodeType.EndElement))
                {
                    return(0);
                }
                else
                {
                    break;
                }
            }

            return(2);
        }
Example #59
0
        private void ReadSubElements(System.Xml.XmlReader reader, string[] parts, int i, ArrayList result, bool securityTrimmingEnabled)
        {
            string nextName = parts[i];
            int    depth    = reader.Depth + 1;

            while (reader.Read())
            {
                if (reader.Depth == depth)
                {
                    switch (reader.NodeType)
                    {
                    case System.Xml.XmlNodeType.Attribute:
                    case System.Xml.XmlNodeType.CDATA:
                    case System.Xml.XmlNodeType.Comment:
                    case System.Xml.XmlNodeType.Whitespace:
                        continue;

                    case System.Xml.XmlNodeType.EndElement:
                        break;

                    case System.Xml.XmlNodeType.Element:
                        break;

                    default:
                        throw new System.Xml.XmlException("读取到错误的节点");
                    }

                    if (reader.NodeType == System.Xml.XmlNodeType.Element)
                    {
                        bool hit = false;
                        if (reader.MoveToAttribute("name"))
                        {
                            hit = reader.Value == nextName;

                            if (hit)
                            {
                                hit = DeterminVisible(reader);
                            }
                            reader.MoveToElement();
                        }

                        if (hit)
                        {
                            i++;
                            if (i < parts.Length)
                            {
                                ReadSubElements(reader, parts, i, result, securityTrimmingEnabled);
                            }
                            else
                            {
                                ReadSubItems(reader, result, securityTrimmingEnabled);
                            }

                            break;
                        }
                        else
                        {
                            //reader.Skip();
                        }
                    }
                }
                else if (reader.Depth > depth)
                {
                    reader.Skip();
                }
                else
                {
                    break;
                }
            }
        }
Example #60
0
        /// <summary>
        /// Serializes the XML to an instance.
        /// </summary>
        /// <param name="reader"></param>
        void IFlickrParsable.Load(System.Xml.XmlReader reader)
        {
            while (reader.MoveToNextAttribute())
            {
                switch (reader.LocalName)
                {
                case "name":
                    Description = reader.Value;
                    break;

                case "place_id":
                    PlaceId = reader.Value;
                    break;

                case "place_url":
                    PlaceUrl = reader.Value;
                    break;

                case "place_type_id":
                    PlaceType = (PlaceType)reader.ReadContentAsInt();
                    break;

                case "place_type":
                    PlaceType = (PlaceType)Enum.Parse(typeof(PlaceType), reader.Value, true);
                    break;

                case "woeid":
                    WoeId = reader.Value;
                    break;

                case "woe_name":
                    WoeName = reader.Value;
                    break;

                case "latitude":
                    Latitude = reader.ReadContentAsDouble();
                    break;

                case "longitude":
                    Longitude = reader.ReadContentAsDouble();
                    break;

                case "timezone":
                    TimeZone = reader.Value;
                    break;

                case "photo_count":
                    PhotoCount = reader.ReadContentAsInt();
                    break;

                default:
                    UtilityMethods.CheckParsingException(reader);
                    break;
                }
            }

            reader.Read();

            while (reader.NodeType != XmlNodeType.EndElement)
            {
                if (reader.NodeType == XmlNodeType.Text)
                {
                    Description = reader.ReadContentAsString();
                }
                else
                {
                    switch (reader.LocalName)
                    {
                    default:
                        UtilityMethods.CheckParsingException(reader);
                        break;
                    }
                }
            }

            reader.Read();
        }