public static DomDocument LoadXmlFileWithCreateDocument( System.IO.Stream stream, DomDocument sourceDocument) { if (stream == null) { throw new ArgumentNullException("stream"); } XmlSerializer ser = DocumentSaver.GetDocumentXmlSerializer( sourceDocument == null ? typeof(DomDocument) : sourceDocument.GetType()); System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(stream); reader.Normalization = false; DomDocument document = ( DomDocument )ser.Deserialize(reader); if (string.Compare(document.EditorVersionString, "1.1") < 0) { // 修复ListSource } if (sourceDocument != null) { document.ServerObject = sourceDocument.ServerObject; document.Options = sourceDocument.Options; } document.AfterLoad(FileFormat.XML); return(document); }
public static void SaveXmlFile(System.IO.TextWriter writer, DomDocument document) { if (writer == null) { throw new ArgumentNullException("writer"); } if (document == null) { throw new ArgumentNullException("document"); } XmlSerializer ser = GetDocumentXmlSerializer(document.GetType()); //document._xmlSerializing = true; //document.ContentStyles.UpdateStyleIndex(); document.EditorVersion = DomDocument.CurrentEditorVersion; document.DeleteUselessStyle(); document._ElementsForSerialize = null; document._Deserializing = false; document.ContentStyles.Styles.UpdateStyleIndex(); document.FixDomState(); //ClearElementsForSerialize(document); ser.Serialize(writer, document); document.FixDomState(); //ClearElementsForSerialize(document); //document._xmlSerializing = false; }
public static DomDocument LoadXmlFileWithCreateDocument( System.Xml.XmlReader reader, DomDocument sourceDocument) { if (reader == null) { throw new ArgumentNullException("reader"); } XmlSerializer ser = DocumentSaver.GetDocumentXmlSerializer( sourceDocument == null ? typeof(DomDocument) : sourceDocument.GetType()); if (reader is System.Xml.XmlTextReader) { ((System.Xml.XmlTextReader)reader).Normalization = false; } DomDocument document = (DomDocument)ser.Deserialize(reader); if (sourceDocument != null) { document.ServerObject = sourceDocument.ServerObject; document.Options = sourceDocument.Options; } document.AfterLoad(FileFormat.XML); return(document); }
/// <summary> /// Visits the <paramref name="document"/> element. /// </summary> /// <param name="document"></param> public virtual void Visit(DomDocument document) { try { VisitChildElements(document); } // try catch (Exception e) { throw new AuthoringException(string.Format("Failed to author {0}", document.GetType().FullName), e); } // catch }