Пример #1
0
    public static MarginPreference ReadXml(XmlReader reader)
    {
        MarginPreference mp = new MarginPreference();

        if (reader.HasAttributes)
        {
            mp.ColumnCount      = Convert.ToInt32(reader.GetAttribute("ColumnCount"));
            mp.ColumnGutter     = (double)Parser.ParseDouble(reader.GetAttribute("ColumnGutter"));
            mp.Top              = (double)Parser.ParseDouble(reader.GetAttribute("Top"));
            mp.Bottom           = (double)Parser.ParseDouble(reader.GetAttribute("Bottom"));
            mp.Left             = (double)Parser.ParseDouble(reader.GetAttribute("Left"));
            mp.Right            = (double)Parser.ParseDouble(reader.GetAttribute("Right"));
            mp.ColumnDirection  = Enum.Parse(typeof(HorizontalOrVertical), reader.GetAttribute("ColumnDirection"));
            mp.ColumnsPositions = reader.GetAttribute("ColumnsPositions");
        }

        return(mp);
    }
Пример #2
0
        public static Page ReadXml(XmlReader reader)
        {
            Page p = new Page();

            if (reader.HasAttributes)
            {
                p.Self                = reader.GetAttribute("Self");
                p.GeometricBounds     = reader.GetAttribute("GeometricBounds");
                p.ItemTransform       = reader.GetAttribute("ItemTransform");
                p.Name                = reader.GetAttribute("Name");
                p.AppliedTrapPreset   = reader.GetAttribute("AppliedTrapPreset");
                p.OverrideList        = reader.GetAttribute("OverrideList");
                p.AppliedMaster       = reader.GetAttribute("AppliedMaster");
                p.MasterPageTransform = reader.GetAttribute("MasterPageTransform");
                p.TabOrder            = reader.GetAttribute("TabOrder").Split(' ');
                p.GridStartingPoint   = (GridStartingPointOptions)Enum.Parse(typeof(GridStartingPointOptions), reader.GetAttribute("GridStartingPoint"));
                p.UseMasterGrid       = Convert.ToBoolean(reader.GetAttribute("UseMasterGrid"));
            }

            if (reader.IsEmptyElement)
            {
                return(p);
            }

            while (reader.Read())
            {
                switch (reader.Name)
                {
                case "Properties":
                    while (reader.Read())
                    {
                        switch (reader.Name)
                        {
                        case "PageColor":
                            p.PageColor = PageColor.ReadXml(reader);
                            break;

                        case "Descriptor":
                            p.Descriptor = Descriptor.ReadXml(reader);
                            break;

                        default:
                            if (reader.NodeType == XmlNodeType.Element)
                            {
                                Debug.WriteLine("Unrecognized element: {0} in element: {1}", reader.Name, "Page - Properties");
                            }
                            break;
                        }
                        if (reader.Name == "Properties" & reader.NodeType == XmlNodeType.EndElement)
                        {
                            break;
                        }
                    }
                    break;

                case "GridDataInformation":
                    p.GridDataInformation = GridDataInformation.ReadXml(reader);
                    break;

                case "MarginPreference":
                    p.MarginPreference = MarginPreference.ReadXml(reader);
                    break;

                case "Page":
                    if (reader.NodeType == XmlNodeType.EndElement)
                    {
                        goto exit1;
                    }

                    break;

                default:
                    if (reader.NodeType == XmlNodeType.Element)
                    {
                        Debug.WriteLine("Unrecognized element: {0} in element: {1}", reader.Name, "Page");
                    }
                    break;
                }
            }

exit1:
            return(p);
        }