예제 #1
0
        public static CT_Font Parse(XElement node, XmlNamespaceManager namespaceManager)
        {
            if (node == null)
            {
                return(null);
            }
            CT_Font ctObj = new CT_Font();

            ctObj.charset   = new List <CT_IntProperty>();
            ctObj.family    = new List <CT_IntProperty>();
            ctObj.b         = new List <CT_BooleanProperty>();
            ctObj.i         = new List <CT_BooleanProperty>();
            ctObj.strike    = new List <CT_BooleanProperty>();
            ctObj.color     = new List <CT_Color>();
            ctObj.sz        = new List <CT_FontSize>();
            ctObj.u         = new List <CT_UnderlineProperty>();
            ctObj.vertAlign = new List <CT_VerticalAlignFontProperty>();
            ctObj.scheme    = new List <CT_FontScheme>();
            foreach (XElement childNode in node.ChildElements())
            {
                if (childNode.Name.LocalName == "outline")
                {
                    ctObj.outline = CT_BooleanProperty.Parse(childNode, namespaceManager);
                }
                else if (childNode.Name.LocalName == "shadow")
                {
                    ctObj.shadow = CT_BooleanProperty.Parse(childNode, namespaceManager);
                }
                else if (childNode.Name.LocalName == "condense")
                {
                    ctObj.condense = CT_BooleanProperty.Parse(childNode, namespaceManager);
                }
                else if (childNode.Name.LocalName == "extend")
                {
                    ctObj.extend = CT_BooleanProperty.Parse(childNode, namespaceManager);
                }
                else if (childNode.Name.LocalName == "name")
                {
                    ctObj.name = CT_FontName.Parse(childNode, namespaceManager);
                }
                else if (childNode.Name.LocalName == "charset")
                {
                    ctObj.charset.Add(CT_IntProperty.Parse(childNode, namespaceManager));
                }
                else if (childNode.Name.LocalName == "family")
                {
                    ctObj.family.Add(CT_IntProperty.Parse(childNode, namespaceManager));
                }
                else if (childNode.Name.LocalName == "b")
                {
                    ctObj.b.Add(CT_BooleanProperty.Parse(childNode, namespaceManager));
                }
                else if (childNode.Name.LocalName == "i")
                {
                    ctObj.i.Add(CT_BooleanProperty.Parse(childNode, namespaceManager));
                }
                else if (childNode.Name.LocalName == "strike")
                {
                    ctObj.strike.Add(CT_BooleanProperty.Parse(childNode, namespaceManager));
                }
                else if (childNode.Name.LocalName == "color")
                {
                    ctObj.color.Add(CT_Color.Parse(childNode, namespaceManager));
                }
                else if (childNode.Name.LocalName == "sz")
                {
                    ctObj.sz.Add(CT_FontSize.Parse(childNode, namespaceManager));
                }
                else if (childNode.Name.LocalName == "u")
                {
                    ctObj.u.Add(CT_UnderlineProperty.Parse(childNode, namespaceManager));
                }
                else if (childNode.Name.LocalName == "vertAlign")
                {
                    ctObj.vertAlign.Add(CT_VerticalAlignFontProperty.Parse(childNode, namespaceManager));
                }
                else if (childNode.Name.LocalName == "scheme")
                {
                    ctObj.scheme.Add(CT_FontScheme.Parse(childNode, namespaceManager));
                }
            }
            return(ctObj);
        }