public static Story ReadXml(XmlReader reader) { Story s = new Story(); s.Self = reader.GetAttribute("Self"); s.AppliedNamedGrid = reader.GetAttribute("AppliedNamedGrid"); s.AppliedTOCStyle = reader.GetAttribute("AppliedTOCStyle"); s.StoryTitle = reader.GetAttribute("StoryTitle"); s.TrackChanges = Parser.ParseBoolean(reader.GetAttribute("TrackChanges")); if (reader.IsEmptyElement) { return(s); } while (reader.Read()) { switch (reader.Name) { case "ParagraphStyleRange": s.Children.Add(ParagraphStyleRange.ReadXml(reader)); break; case "StoryPreference": s.StoryPreference = StoryPreference.ReadXml(reader); break; case "InCopyExportOption": s.InCopyExportOption = InCopyExportOption.ReadXml(reader); break; case "XMLElement": s.Children.Add(Stories.XmlElement.ReadXml(reader)); break; case "Content": s.Children.Add(new Content(reader.ReadString())); break; case "Br": s.Children.Add(new Br()); break; case "Story": if (reader.NodeType == XmlNodeType.EndElement) { goto exit1; } break; default: Debug.WriteLine("Unrecognized element: {0} in element: {1}", reader.Name, "Story"); break; } } exit1: return(s); }
public static StoryPreference ReadXml(XmlReader reader) { StoryPreference sp = new StoryPreference(); sp.OpticalMarginAlignment = Convert.ToBoolean(reader.GetAttribute("OpticalMarginAlignment")); sp.OpticalMarginSize = (double)Parser.ParseDouble(reader.GetAttribute("OpticalMarginSize")); sp.FrameType = (FrameTypes)Enum.Parse(typeof(FrameTypes), reader.GetAttribute("FrameType")); sp.StoryOrientation = (StoryHorizontalOrVertical)Enum.Parse(typeof(StoryHorizontalOrVertical), reader.GetAttribute("StoryOrientation")); sp.StoryDirection = (StoryDirectionOptions)Enum.Parse(typeof(StoryDirectionOptions), reader.GetAttribute("StoryDirection")); return(sp); }