Exemplo n.º 1
0
 public void ReadXml(System.Xml.XmlReader reader)
 {
     if (reader.MoveToAttribute("Title"))
         mTitle = reader.Value;
     else
         throw new Exception();
     if (reader.MoveToAttribute("Path"))
         mPath = reader.Value;
     else
         throw new Exception();
 }
Exemplo n.º 2
0
        public override void ReadXml(System.Xml.XmlReader reader)
        {
            if (reader.MoveToAttribute("Description"))
                Description = reader.Value;

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

            this.Add(key, value);

              } while (reader.ReadToNextSibling("DictionaryEntry"));
            }
              }
        }
Exemplo n.º 4
0
        public void ReadXml(System.Xml.XmlReader reader)
        {
            if (reader.MoveToAttribute("name"))
                Name = reader.Value;
            else
                throw new Exception();

            reader.Read();

            XmlSerializer x = new XmlSerializer(typeof(Rectangle));
            Bounds = (Rectangle)x.Deserialize(reader);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Reads the Node from the XML.
        /// </summary>
        /// <param name="reader">The instance of the XmlReader.</param>
        void IXmlSerializable.ReadXml(System.Xml.XmlReader reader)
        {
            ReadBasicXmlInfo(reader);

            reader.MoveToAttribute("AssemblyFile");
            AssemblyFile = reader.ReadContentAsString();
            reader.MoveToAttribute("Version");
            Version = reader.ReadContentAsString();

            reader.ReadStartElement();
            if (reader.IsEmptyElement == false) {
                XmlSerializer ser = new XmlSerializer(this.Cache.GetType());
                this.Cache = ser.Deserialize(reader) as Cache;

                List<object> propertiesObj = this.Cache.Childs.FindAll(c => c is Property);

                List<Property> properties = new List<Property>();
                foreach (Property p in propertiesObj)
                    properties.Add(p);

                this.Childs.AddRange(properties);
            }
        }
Exemplo n.º 6
0
        public void Read(out string id, out Domain domain, out string attribName, out Type attribType, out object defaultVal, System.Xml.XmlReader reader)
        {
            id = null;
            domain = Domain.all;
            attribName = null;
            attribType = null;
            defaultVal = null;

            reader.MoveToAttribute("id");
            id = reader["id"];

            reader.MoveToAttribute("for");
            domain = (Domain)Enum.Parse(typeof(Domain), reader["for"]);

            reader.MoveToAttribute("attr.name");
            attribName = reader["attr.name"];

            reader.MoveToAttribute("attr.type");
            attribType = GraphMLConvert.ToType(reader["attr.type"]);

            reader.MoveToElement();

            // if there is a default value element, read it and convet
            if (reader.ReadToDescendant("default"))
            {
                string defaultValStr = null;
                ReadDefault(out defaultValStr, reader);
                defaultVal = ConvertDefaultValStr(defaultValStr, attribType);
                if (!reader.IsStartElement() && reader.Name=="default")
                        reader.Read();  // read the end tag element of default
            }
            else
            {
                // default value is system default
                defaultVal = GetDefault( attribType);
            }
        }
 public void DoSearch(string[] parts, ArrayList result, System.Xml.XmlReader reader, bool securityTrimmingEnabled)
 {
     if (reader.ReadToFollowing("category", ns) && reader.MoveToAttribute("name") && reader.Value == "Root" && reader.MoveToElement())
     {
         int i = 1;
         if (i < parts.Length)
         {
             ReadSubElements(reader, parts, i, result, securityTrimmingEnabled);
         }
         else
         {
             ReadSubItems(reader, result, securityTrimmingEnabled);
         }
     }
 }
        private bool DeterminVisible(System.Xml.XmlReader reader)
        {
            bool result = true;
            if (reader.MoveToAttribute("visible"))
            {
                if (reader.HasValue)
                    result = reader.ReadContentAsBoolean();
            }

            return result;
        }
Exemplo n.º 9
0
        internal void UnpersistCore(System.Xml.XmlReader reader, out IPipe pipe)
        {
            // Assumes reader has started the read of element "Pipe"

            reader.MoveToAttribute("id");
            string idStr = reader["id"];

            reader.MoveToAttribute("type");
            string contentTypeStr = reader["type"];

            reader.MoveToAttribute("sourceId");
            string srcElId = reader["sourceId"];

            reader.MoveToAttribute("sourcePortId");
            string srcPortId = reader["sourcePortId"];

            reader.MoveToAttribute("destinationId");
            string destElId = reader["destinationId"];

            reader.MoveToAttribute("destinationPortId");
            string destPortId = reader["destinationPortId"];

            reader.MoveToElement();

            if (reader.IsStartElement() && !reader.IsEmptyElement)
            {
                reader.Read();
            }

            _ticketBuilder.PipeId = new Guid(idStr);
            _ticketBuilder.ContentType = (BlobType)Enum.Parse(typeof(BlobType), contentTypeStr);
            _ticketBuilder.SrcElementId = new Guid(srcElId);
            _ticketBuilder.SrcPortId = new Guid(srcPortId);
            _ticketBuilder.DestElementId = new Guid(destElId);
            _ticketBuilder.DestPortId = new Guid(destPortId);

            IPipeTicket ticket = TicketBuilder.Ticket;
            pipe = ReConstitute(ticket);
        }
Exemplo n.º 10
0
        internal void UnpersistLocation(System.Xml.XmlReader reader, out PointF location)
        {
            // Assumes reader has started the read of element "Location"

            reader.MoveToAttribute("x");
            string xStr = reader["x"];
            reader.MoveToAttribute("y");
            string yStr = reader["y"];

            reader.MoveToElement();
            //if (reader.IsStartElement() && !reader.IsEmptyElement)
            //{
            //    reader.Read();
            //}

            location = new PointF(float.Parse(xStr), float.Parse(yStr));
        }
Exemplo n.º 11
0
        public void LoadFrom(System.Xml.XmlReader x)
        {
            if (x.ReadState == ReadState.Initial)
                x.Read();

            if (x.MoveToAttribute("Target"))
                TargetType = (DCompileTarget)Enum.Parse(typeof(DCompileTarget), x.ReadContentAsString());

            while(x.Read())
                switch (x.LocalName)
                {
                    case "CompilerCommand":
                        Compiler = x.ReadString();
                        break;
                    case "LinkerCommand":
                        Linker = x.ReadString();
                        break;
                    case "ObjectLinkPattern":
                        ObjectFileLinkPattern = x.ReadString();
                        break;
                    case "IncludePathPattern":
                        IncludePathPattern = x.ReadString();
                        break;

                    case "DebugArgs":
                        var s = x.ReadSubtree();
                        DebugArguments.ReadFrom(s);
                        s.Close();
                        break;

                    case "ReleaseArgs":
                        var s2 = x.ReadSubtree();
                        ReleaseArguments.ReadFrom(s2);
                        s2.Close();
                        break;
                }
        }
Exemplo n.º 12
0
        public bool LoadFrom(DCompilerConfiguration cmpCfg,System.Xml.XmlReader x)
        {
            if (x.ReadState == ReadState.Initial)
                x.Read ();

            if (x.MoveToAttribute ("Target") &&
                !Enum.TryParse(x.ReadContentAsString(), true, out TargetType))
                    return false;

            while (x.Read())
                switch (x.LocalName) {
                // For backward compatibility keep on parsing this
                case "CompilerCommand":
                    cmpCfg.SourceCompilerCommand = x.ReadString ();
                    break;
                case "LinkerCommand":
                    Linker = x.ReadString ();
                    break;
                case "Patterns": // ditto
                    var s = x.ReadSubtree ();
                    cmpCfg.ArgumentPatterns.ReadFrom (s);
                    s.Close ();
                    break;
                case "DebugArgs":
                    s = x.ReadSubtree ();
                    DebugArguments.ReadFrom (cmpCfg, s);
                    s.Close ();
                    break;
                case "ReleaseArgs":
                    s = x.ReadSubtree ();
                    ReleaseArguments.ReadFrom (cmpCfg,s);
                    s.Close ();
                    break;
                }

            return true;
        }
Exemplo n.º 13
0
        internal void UnpersistOutboundPipe(System.Xml.XmlReader reader, out Guid outboundPipeId)
        {
            // Assumes reader has started the read of element "InboundPipe"

            reader.MoveToAttribute("id");
            string idStr = reader["id"];
            reader.MoveToElement();
            if (reader.IsStartElement() && !reader.IsEmptyElement)
            {
                reader.Read();
            }

            outboundPipeId = new Guid(idStr);
        }
Exemplo n.º 14
0
        internal void UnpersistFx( System.Xml.XmlReader reader)
        {
            // Assumes reader has started the read of element "Fx"

            reader.MoveToAttribute("id");
            string idStr = reader["id"];
            reader.MoveToElement();
            if (reader.IsStartElement() && !reader.IsEmptyElement)
            {
                reader.Read();
            }

            TicketBuilder.FxId = new Guid(idStr);
        }
Exemplo n.º 15
0
        internal void UnpersistCore(System.Xml.XmlReader reader, out IElement element)
        {
            element = null;

            // Assumes reader has started the read of element "Element"
            reader.MoveToAttribute("id");
            string idStr = reader["id"];

            reader.MoveToAttribute("typeId");
            string typeIdStr = reader["typeId"];

            reader.MoveToAttribute("typeName");
            string typeName = reader["typeName"];

            reader.MoveToElement();

            TicketBuilder.ElementId = new Guid(idStr);
            TicketBuilder.TypeId = new Guid(typeIdStr);

            // -------------------------

            int startDepth = reader.Depth;

            // in expected order
            if (reader.ReadToDescendant("Fx"))  // Fx node must be there, it has an id to read in
            {
                UnpersistFx(reader);

                if (reader.ReadToNextSibling("InputPortMgr"))
                {
                    UnpersistInPortMgr(reader);
                }
                if (reader.ReadToNextSibling("OutputPortMgr"))
                {
                    UnpersistOutPortMgr(reader);
                }

                IElementTicket ticket = TicketBuilder.Ticket;
                element = ReConstitute(ticket);

                if (reader.ReadToNextSibling("Settings"))
                {
                    UnpersistSettingsMgr(element, reader);
                }
                // Options are not currently being used or persisted
                //if (reader.ReadToNextSibling("Options"))
                //{
                //    UnpersistOptionsMgr(reader);
                //}
                if (reader.ReadToNextSibling("ParamMgr"))
                {
                    UnpersistParamMgr(element, reader);
                }

                // read up to the end "Element" tag
                if (reader.Depth > startDepth)
                {
                    reader.Read();
                }
            }
        }
Exemplo n.º 16
0
 /// <summary>
 /// Reads bais Informations from the XML.
 /// </summary>
 /// <param name="reader">The instance of the XmlReader.</param>
 protected void ReadBasicXmlInfo(System.Xml.XmlReader reader)
 {
     reader.MoveToAttribute("Name");
     this.Name = reader.ReadContentAsString();
     reader.MoveToAttribute("Fullname");
     this.Fullname = reader.ReadContentAsString();
     reader.MoveToAttribute("UID");
     this.UID = reader.ReadContentAsString();
 }
Exemplo n.º 17
0
 public void ReadXml(System.Xml.XmlReader reader)
 {
     //读取工序号属性
     reader.MoveToAttribute("Number");
     this.Number = reader.ReadContentAsInt();
     //读取加工面类型属性
     reader.MoveToAttribute("SideType");
     this.SideType = (SideType)Enum.Parse(typeof(SideType), reader.ReadContentAsString());
     //读取加工类型属性
     reader.MoveToAttribute("ProcessType");
     this.ProcessType = (ProcessType)Enum.Parse(typeof(ProcessType), reader.ReadContentAsString());
     //读取加工形状属性
     reader.MoveToAttribute("ProcessShape");
     this.ProcessShape = (ProcessShape)Enum.Parse(typeof(ProcessShape), reader.ReadContentAsString());
     //读取是否为外侧工序标识属性
     reader.MoveToAttribute("IsOutSide");
     this.IsOutside = bool.Parse(reader.ReadContentAsString());
     //读取矩形加工环绕方向
     reader.MoveToAttribute("RecDirection");
     this.RecDirection = (Direction)Enum.Parse(typeof(Direction), reader.ReadContentAsString());
     //开始读取工序信息元素
     reader.ReadStartElement();
     //读取圆直径
     this.Diameter = reader.ReadElementContentAsDouble("Diameter", "");
     //读取矩形长
     this.Width = reader.ReadElementContentAsDouble("Width", "");
     //读取矩形宽
     this.Height = reader.ReadElementContentAsDouble("Height", "");
     //读取加工起始点元素
     this.StartPoint.ReadXml(reader, "StartPoint");
     //读取钻入点元素
     this.IntoPoint.ReadXml(reader, "IntoPoint");
     //结束读取工序信息元素
     reader.ReadEndElement();
 }
Exemplo n.º 18
0
        /// <summary>
        /// Reads the Tool from the XML.
        /// </summary>
        /// <param name="reader">The instance of the XmlReader.</param>
        void IXmlSerializable.ReadXml(System.Xml.XmlReader reader)
        {
            ReadBasicXmlInfo(reader);

            reader.MoveToAttribute("AssemblyFile");
            AssemblyFile = reader.ReadContentAsString();
            reader.MoveToAttribute("Version");
            Version = reader.ReadContentAsString();

            reader.ReadStartElement();
            if (reader.IsEmptyElement == false) {
                XmlSerializer ser = new XmlSerializer(this.Cache.GetType());
                this.Cache = ser.Deserialize(reader) as Cache;

                List<object> tools = this.Cache.Childs.FindAll(c => c is Tool);
                List<object> propertiesObj = this.Cache.Childs.FindAll(c => c is ns.Base.Plugins.Properties.Property);

                List<Property> properties = new List<Property>();
                foreach (Property p in propertiesObj)
                    properties.Add(p);

                if (tools != null)
                    this.Childs = new List<object>(tools);

                this.Childs.AddRange(properties);
            }

            while (!reader.IsStartElement()) {
                if (reader.Name == "Cache") {
                    reader.ReadEndElement();
                    break;
                }

                reader.ReadEndElement();
            }
        }
Exemplo n.º 19
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;
        }
Exemplo n.º 20
0
        internal void UnpersistOutPort(System.Xml.XmlReader reader, out Guid portId, out int portIndex)
        {
            // Assumes reader has started the read of element "OutputPort"
            reader.MoveToAttribute("id");
            string idStr = reader["id"];
            reader.MoveToAttribute("index");
            string indexStr = reader["index"];
            reader.MoveToElement();

            portId = new Guid(idStr);
            portIndex = XmlConvert.ToInt32(indexStr);

            if (reader.ReadToDescendant("OutboundPipe"))
            {
                Guid pipeId;
                UnpersistOutboundPipe(reader, out pipeId);
                while (reader.ReadToNextSibling("OutboundPipe"))
                {
                    UnpersistOutboundPipe(reader, out pipeId);
                }
            }
            if (reader.IsStartElement() && !reader.IsEmptyElement)
            {
                reader.Read();
            }

            TicketBuilder.AddOutputPortId(portId, portIndex);
        }
Exemplo n.º 21
0
        private void CreateSourceTable(System.Xml.XmlReader reader)
        {
            string[] columnNames;
            ArrayList names = new ArrayList();
            reader.MoveToAttribute("TableName");
            string codeTableName = reader.Value.ToString();

            DataTable fromXml = new DataTable(codeTableName);
            DataRow rowFromXml;

            reader.ReadToFollowing("Item");

            do
            {
                if (reader.MoveToFirstAttribute())
                {
                    string columnName = reader.Name.Replace("__space__", " ");

                    if (fromXml.Columns.Contains(columnName) == false)
                    {
                        fromXml.Columns.Add(columnName, System.Type.GetType("System.String"));
                    }

                    rowFromXml = fromXml.NewRow();
                    rowFromXml[columnName] = reader.Value;

                    while (reader.MoveToNextAttribute())
                    {
                        columnName = reader.Name.Replace("__space__", " ");
                        if (fromXml.Columns.Contains(columnName) == false)
                        {

                            fromXml.Columns.Add(columnName, System.Type.GetType("System.String"));
                            DataRow tempRow = fromXml.NewRow();
                            tempRow.ItemArray = rowFromXml.ItemArray;
                        }

                        rowFromXml[columnName] = reader.Value;
                    }

                    fromXml.Rows.Add(rowFromXml);
                }
            }
            while (reader.ReadToNextSibling("Item"));

            if (mediator.Project.Metadata.TableExists(codeTableName))
            {
                DataTable existing = mediator.Project.Metadata.GetCodeTableData(codeTableName);

                if (TablesAreDifferent(existing, fromXml))
                {
                    foreach (DataColumn column in fromXml.Columns)
                    {
                        names.Add(column.ColumnName);
                    }
                    columnNames = (string[])names.ToArray(typeof(string));

                    DialogResult replaceWithTemplate = MsgBox.ShowQuestion("A code table with the following name already exists in the database: " + existing + ".  Replace code table with the code table defined in the template?" );

                    if (replaceWithTemplate == DialogResult.Yes)
                    {
                        mediator.Project.Metadata.DeleteCodeTable(codeTableName);
                        mediator.Project.Metadata.CreateCodeTable(codeTableName, columnNames);
                        mediator.Project.Metadata.SaveCodeTableData(fromXml, codeTableName, columnNames);
                    }
                    else
                    {
                        string newCodeTableName = codeTableName;

                        DataSets.TableSchema.TablesDataTable tables = mediator.Project.Metadata.GetCodeTableList();

                        int arbitraryMax = 2048;

                        for (int nameExtension = 1; nameExtension < arbitraryMax; nameExtension++)
                        {
                            foreach (DataRow row in tables)
                            {
                                if (newCodeTableName.ToLower() == ((string)row[ColumnNames.TABLE_NAME]).ToLower())
                                {
                                    newCodeTableName = codeTableName + nameExtension.ToString();
                                    break;
                                }
                            }

                            if (newCodeTableName != codeTableName + nameExtension.ToString())
                            {
                                break;
                            }
                        }

                        _sourceTableRenames.Add(codeTableName, newCodeTableName);
                        mediator.Project.Metadata.CreateCodeTable(newCodeTableName, columnNames);
                        mediator.Project.Metadata.SaveCodeTableData(fromXml, newCodeTableName, columnNames);
                    }
                }
            }
            else
            {
                foreach (DataColumn column in fromXml.Columns)
                {
                    string columnName = column.ColumnName.Replace("__space__", " ");
                    names.Add(columnName);
                }
                columnNames = (string[])names.ToArray(typeof(string));

                mediator.Project.Metadata.CreateCodeTable(codeTableName, columnNames);
                mediator.Project.Metadata.SaveCodeTableData(fromXml, codeTableName, columnNames);
            }
        }
        /// <summary>
        /// Generates a TimeChangeType object from it's XML representation
        /// </summary>
        /// <param name="reader">XmlReader posistioned at the start node
        /// of the TimeChangeType XML
        /// </param>
        public void ReadXml(System.Xml.XmlReader reader)
        {
            // Store the LocalName of the element we are currently at.
            // This should be either "Standard" or "Daylight".
            //
            // This also serves as our key to our position in the stream.
            // Once we reach an EndElement with this name, then we are done
            // with our portion of the XmlStream
            //
            string ruleSetName = reader.LocalName;

            // Value that indicates if the TimeChangePattern for us is a
            // RelativeYearlyRecurrence or not.  If not, then it must
            // be an AbsoluteDate
            //
            bool isRelativeYearlyPattern = false;
            RelativeYearlyRecurrencePatternType relativeYearlyPattern =
                new RelativeYearlyRecurrencePatternType();
            while (true)
            {
                // Check to see if we are done processing
                if ((reader.NodeType == XmlNodeType.EndElement) &&
                    (0 == String.Compare(reader.LocalName, ruleSetName)))
                {
                    // We are done, consume this EndElement and stop processing
                    reader.Read();
                    break;
                }

                if (reader.NodeType == XmlNodeType.EndElement)
                {
                    // This means we are at the closing tag of
                    // </RelativeYearlyRecurrence>
                    // No data here to process.
                    reader.Read();
                    continue;
                }

                // Consume TimeZoneName attribute
                //  e.g. <Standard|Daylight TimeZoneName="value">
                //
                if ((0 == String.Compare(reader.LocalName, "Standard")) ||
                    (0 == String.Compare(reader.LocalName, "Daylight")))
                {
                    if (reader.AttributeCount > 0)
                    {
                        reader.MoveToAttribute("TimeZoneName");
                        this.timeZoneNameField = reader.Value;
                    }
                    // We have consumed what we needed form this element
                    reader.Read();
                }

                // Consume Offset
                //  e.g <Offset>PT0M</Offset>
                if (0 == String.Compare(reader.LocalName, "Offset"))
                {
                    string value = reader.ReadElementContentAsString();
                    this.offsetField = value;
                }

                // Consume Time
                //  e.g. <Time>02:00:00</Time>
                if (0 == String.Compare(reader.LocalName, "Time"))
                {
                    this.timeField = reader.ReadElementContentAsDateTime();
                }

                // Consume the TimeChangePattern element if it is
                // an AbsoluteDate
                //
                if (0 == String.Compare(reader.LocalName, "AbsoluteDate"))
                {
                    isRelativeYearlyPattern = false;
                    this.itemField = reader.ReadElementContentAsDateTime();
                }

                // Consume the TimeChangePattern element if it is
                // an RelativeYearlyRecurrence
                //
                if (0 == String.Compare(reader.LocalName,
                    "RelativeYearlyRecurrence"))
                {
                    isRelativeYearlyPattern = true;
                    reader.Read();
                }

                // If the pattern is relative, then the next three checks
                // will get the DayOfWeek, DayOfWeekIndex, and Month values
                // accordingly.
                //
                if (0 == String.Compare(reader.LocalName, "DaysOfWeek"))
                {
                    string value = reader.ReadElementContentAsString();
                    relativeYearlyPattern.DaysOfWeek = value;
                }

                if (0 == String.Compare(reader.LocalName, "DayOfWeekIndex"))
                {
                    string value = reader.ReadElementContentAsString();
                    relativeYearlyPattern.DayOfWeekIndex =
                       (DayOfWeekIndexType)Enum.Parse(
                           typeof(DayOfWeekIndexType), value);
                }

                if (0 == String.Compare(reader.LocalName, "Month"))
                {
                    string value = reader.ReadElementContentAsString();
                    relativeYearlyPattern.Month =
                        (MonthNamesType)Enum.Parse(
                            typeof(MonthNamesType), value);
                }
            }

            // Before we leave, set the .itemField to our
            // relativeYearlyPattern if necessary
            if (isRelativeYearlyPattern)
                this.itemField = relativeYearlyPattern;
        }
Exemplo n.º 23
0
		public override void ReadXml(System.Xml.XmlReader reader)
		{
			if (reader.MoveToAttribute("CanHide"))
				CanHide = bool.Parse(reader.Value);
			if (reader.MoveToAttribute("CanAutoHide"))
				CanAutoHide = bool.Parse(reader.Value);
			if (reader.MoveToAttribute("AutoHideWidth"))
				AutoHideWidth = double.Parse(reader.Value, CultureInfo.InvariantCulture);
			if (reader.MoveToAttribute("AutoHideHeight"))
				AutoHideHeight = double.Parse(reader.Value, CultureInfo.InvariantCulture);
			if (reader.MoveToAttribute("AutoHideMinWidth"))
				AutoHideMinWidth = double.Parse(reader.Value, CultureInfo.InvariantCulture);
			if (reader.MoveToAttribute("AutoHideMinHeight"))
				AutoHideMinHeight = double.Parse(reader.Value, CultureInfo.InvariantCulture);

			base.ReadXml(reader);
		}
Exemplo n.º 24
0
 public virtual void ReadXml(System.Xml.XmlReader reader)
 {
     reader.MoveToContent();
     reader.MoveToAttribute("OrderId");
     OrderId = reader.ReadContentAsInt();
     reader.MoveToAttribute("ProductId");
     ProductId = reader.ReadContentAsInt();
 }
Exemplo n.º 25
0
 public void ReadXml(System.Xml.XmlReader reader)
 {
     //读取Name属性
     reader.MoveToAttribute("Name");
     this.Name = reader.ReadContentAsString();
     //开始读取型号信息
     reader.ReadStartElement();
     //读取刀具直径
     this.BladeDiameter = reader.ReadElementContentAsDouble("BladeDiameter", "");
     //读取刀具长度
     this.BladeLength = reader.ReadElementContentAsDouble("BladeLength", "");
     //读取工位列表
     reader.ReadStartElement("StationList");
     while (reader.NodeType == XmlNodeType.Element)
     {
         StationList.Add(new Station());
         StationList.Last().ReadXml(reader);
     }
     //结束读取信号信息
     reader.ReadEndElement();
 }
Exemplo n.º 26
0
 internal void Read(System.Xml.XmlReader reader)
 {
     this.Name = reader.LocalName;
     bool isNull;
     if (bool.TryParse(reader.GetAttribute("null"), out isNull))
         IsNull = isNull;
     if (!IsNull)
     {
         if (reader.HasAttributes)
         {
             reader.MoveToAttribute(0);
             if (reader.LocalName == "type")
                 TypeName = reader.Value;
             reader.MoveToElement();
         }
         while (reader.Read())
         {
             if (reader.HasValue && !string.IsNullOrEmpty(reader.Value.Trim()))
             {
                 this.Text = reader.Value;
                 break;
             }
         }
         switch (TypeName)
         {
             case "Edm.Binary":
                 MaterializedValue = Convert.FromBase64String(Text);
                 break;
             case "Edm.Boolean":
                 MaterializedValue = Convert.ToBoolean(Text);
                 break;
             case "Edm.Byte":
                 MaterializedValue = Convert.ToByte(Text);
                 break;
             case "Edm.DateTime":
                 MaterializedValue = Convert.ToDateTime(Text);
                 break;
             case "Edm.Decimal":
                 MaterializedValue = Convert.ToDecimal(Text);
                 break;
             case "Edm.Double":
                 MaterializedValue = Convert.ToDouble(Text);
                 break;
             case "Edm.Guid":
                 MaterializedValue = new Guid(Text);
                 break;
             case "Edm.Int16":
                 MaterializedValue = Convert.ToInt16(Text);
                 break;
             case "Edm.Int32":
                 MaterializedValue = Convert.ToInt32(Text);
                 break;
             case "Edm.Int64":
                 MaterializedValue = Convert.ToInt64(Text);
                 break;
             case "Edm.SByte":
                 MaterializedValue = Convert.ToSByte(Text);
                 break;
             case "Edm.Single":
                 MaterializedValue = Convert.ToSingle(Text);
                 break;
             case "Edm.Time":
                 MaterializedValue = TimeSpan.Parse(Text);
                 break;
             case "Edm.DateTimeOffset":
                 MaterializedValue = DateTimeOffset.Parse(Text);
                 break;
             case "Edm.String":
             default:
                 MaterializedValue = Text;
                 break;
         }
     }
 }
		/// <summary>Initializes a new instance of OpmlOutline</summary>
		public OpmlOutline (System.Xml.XmlReader xmlTextReader): this()
		{
			if(!xmlTextReader.HasAttributes) return;
			// get attributes
			System.Reflection.PropertyInfo propertyInfo = null;
			for(int i =0;i<xmlTextReader.AttributeCount;i++)
			{
				xmlTextReader.MoveToAttribute(i);
				// try to find some common used alias names for attributes
				string attributeName = xmlTextReader.Name;
				if(attributeName.IndexOf("url")!=-1) attributeName = "xmlUrl";
				if(attributeName.IndexOf("title")!=-1) attributeName = "text";
				// find related property by name
				propertyInfo = GetType().GetProperty(attributeName, System.Reflection.BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance);
				if(propertyInfo!=null)
				{					
					propertyInfo.SetValue(this, System.ComponentModel.TypeDescriptor.GetConverter(propertyInfo.PropertyType).ConvertFromString(xmlTextReader.ReadInnerXml().Trim()),null);
				}
			}
		}
Exemplo n.º 28
0
        /// <summary>
        /// Reads the Property from the XML.
        /// </summary>
        /// <param name="reader">The instance of the XmlReader.</param>
        void IXmlSerializable.ReadXml(System.Xml.XmlReader reader)
        {
            ReadBasicXmlInfo(reader);
            if(reader.MoveToAttribute("IsOutput"))
                this.IsOutput = Convert.ToBoolean(reader.ReadContentAsString());
            if (reader.MoveToAttribute("IsMonitored"))
                this.IsMonitored = Convert.ToBoolean(reader.ReadContentAsString());
            if(reader.MoveToAttribute("ConnectedToUID"))
                this.ConnectedToUID = reader.ReadContentAsString();

            if (reader.IsEmptyElement == false) {
                reader.ReadStartElement();
                if (reader.Name == "anyType") {
                    try {
                        XmlSerializer ser = new XmlSerializer(typeof(object));
                        this.Value = ser.Deserialize(reader);
                    } catch (Exception ex) {
                        Trace.WriteLine(ex.Message, ex.StackTrace, LogCategory.Error);
                    }
                } else if(reader.Name == "ArrayOfDouble") {
                    try {
                        XmlSerializer ser = new XmlSerializer(typeof(List<double>));
                        this.Value = ser.Deserialize(reader);
                    } catch (Exception ex) {
                        Trace.WriteLine(ex.Message, ex.StackTrace, LogCategory.Error);
                    }
                } else if (reader.Name == "ArrayOfInteger") {
                    try {
                        XmlSerializer ser = new XmlSerializer(typeof(List<int>));
                        this.Value = ser.Deserialize(reader);
                    } catch (Exception ex) {
                        Trace.WriteLine(ex.Message, ex.StackTrace, LogCategory.Error);
                    }
                }
            }

            if (reader.Name == "Cache" && reader.IsStartElement()) {
                reader.ReadStartElement();
                try {
                    XmlSerializer ser = new XmlSerializer(this.Cache.GetType());
                    this.Cache = ser.Deserialize(reader) as Cache;
                } catch (Exception ex) {
                    Trace.WriteLine(ex.Message, ex.StackTrace, LogCategory.Error);
                }
                this.Childs = new List<object>(this.Cache.Childs);
            }

            if(reader.Name.Contains("ToleranceOf") && reader.IsStartElement()) {
                reader.ReadStartElement();
                this.Tolerance = new Tolerance<object>();
                string min = reader.ReadInnerXml();
                string max = reader.ReadInnerXml();
                this.Tolerance.Min = min;
                this.Tolerance.Max = max;
            }

            while (!reader.IsStartElement()) {
                if (reader.Name == "Cache") {
                    reader.ReadEndElement();
                    break;
                }

                reader.ReadEndElement();
            }
        }
Exemplo n.º 29
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;
                }
            }
        }
Exemplo n.º 30
0
        internal void UnpersistCore(IWorkSpace workSpace, System.Xml.XmlReader reader)
        {
            // Assumes reader has started the read of element "WorkSpace"
            reader.MoveToAttribute("id");
            string idStr = reader["id"];

            reader.MoveToAttribute("mode");
            string modeStr = reader["mode"];

            reader.MoveToElement();

            workSpace.Id = new Guid(idStr);
            workSpace.ExecMode = (ExecutionModes)Enum.Parse(typeof(ExecutionModes), modeStr);

            // -------------------------

            int startDepth = reader.Depth;

            // in expected order
            if (reader.ReadToDescendant("Settings"))
            {
                UnpersistSettingsMgr(workSpace.SettingsMgr, reader);

                if (reader.ReadToNextSibling("Options"))
                {
                    UnpersistOptionsMgr(workSpace.OptionsMgr, reader);
                }
                if (reader.ReadToNextSibling("Variables"))
                {
                    UnpersistVarMgr(workSpace.VarMgr, reader);
                }
                if (reader.ReadToNextSibling("Elements"))
                {
                    UnpersistElements(workSpace.ElementsMgr, reader);
                }
                if (reader.ReadToNextSibling("Pipes"))
                {
                    UnpersistPipes(workSpace.PipesMgr, reader);
                }
                if (reader.ReadToNextSibling("WorkSpaceProperties"))
                {
                    UnpersistProperties(workSpace.WSProperties, reader);
                }
                // read up to the end "WorkSpace" tag
                if (reader.Depth > startDepth)
                {
                    reader.Read();
                }
            }
        }