public static XmlInstruction ReadXml(XmlReader reader) { XmlInstruction xi = new XmlInstruction(); if (reader.HasAttributes) { xi.Self = reader.GetAttribute("Self"); xi.Target = reader.GetAttribute("Target"); xi.Data = reader.GetAttribute("Data"); } return(xi); }
public static XmlElement ReadXml(XmlReader reader) { XmlElement xe = new XmlElement(); if (reader.HasAttributes) { xe.Self = reader.GetAttribute("Self"); xe.MarkupTag = reader.GetAttribute("MarkupTag"); xe.XmlContent = reader.GetAttribute("XMLContent"); xe.NoTextMarker = Parser.ParseBoolean(reader.GetAttribute("NoTextMarker")); } if (reader.IsEmptyElement) { return(xe); } while (reader.Read()) { switch (reader.Name) { case "XMLAttribute": xe.Children.Add(XmlAttribute.ReadXml(reader)); break; case "XMLElement": if (reader.NodeType == XmlNodeType.EndElement) { goto exit1; } else { xe.Children.Add(XmlElement.ReadXml(reader)); } break; case "XMLComment": xe.Children.Add(XmlComment.ReadXml(reader)); break; case "XMLInstruction": xe.Children.Add(XmlInstruction.ReadXml(reader)); break; case "Table": xe.Children.Add(Table.ReadXml(reader)); break; case "Footnote": xe.Children.Add(Footnote.ReadXml(reader)); break; case "Note": xe.Children.Add(Note.ReadNote(reader)); break; case "GaijiOwnedItemObject": xe.Children.Add(GaijiOwnedItemObject.ReadXml(reader)); break; case "TextVariableInstance": xe.Children.Add(TextVariableInstance.ReadXml(reader)); break; //add more cases here case "HiddenText": xe.Children.Add(HiddenText.ReadXml(reader)); break; //add more cases here case "ParagraphStyleRange": xe.Children.Add(ParagraphStyleRange.ReadXml(reader)); break; case "CharacterStyleRange": xe.Children.Add(CharacterStyleRange.ReadXml(reader)); break; case "Content": xe.Children.Add(new Content(reader.ReadString())); break; case "Br": xe.Children.Add(new Br()); break; case "": break; default: break; } } exit1: return(xe); }