public static void GenerateDigest(string filename) { XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; StringBuilder sb = new StringBuilder(); using (XmlWriter writer = XmlWriter.Create(sb, settings)) { writer.WriteStartElement("digest"); IXmlDigest[] digestable = new IXmlDigest[] { Abilities, Items, ItemAttributes, Jobs, JobLevels, SkillSets, MonsterSkills, ActionMenus, StatusAttributes, InflictStatuses, PoachProbabilities, ENTDs, MoveFind }; foreach (IXmlDigest digest in digestable) { digest.WriteXml(writer); } writer.WriteEndElement(); } #if DEBUG using (FileStream stream = new FileStream(filename + ".xml", FileMode.Create)) { byte[] bytes = sb.ToString().ToByteArray(); stream.Write(bytes, 0, bytes.Length); } #endif settings.ConformanceLevel = ConformanceLevel.Fragment; using (MemoryStream memoryStream = new MemoryStream(Resources.ZipFileContents[Resources.Paths.DigestTransform])) using (XmlReader transformXmlReader = XmlReader.Create(memoryStream)) using (StringReader inputReader = new StringReader(sb.ToString())) using (XmlReader inputXmlReader = XmlReader.Create(inputReader)) using (XmlWriter outputWriter = XmlWriter.Create(filename, settings)) { System.Xml.Xsl.XslCompiledTransform t = new System.Xml.Xsl.XslCompiledTransform(); t.Load(transformXmlReader); t.Transform(inputXmlReader, outputWriter); } }
public static void GenerateDigest( string filename ) { XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; StringBuilder sb = new StringBuilder(); using( XmlWriter writer = XmlWriter.Create( sb, settings ) ) { writer.WriteStartElement( "digest" ); IXmlDigest[] digestable = new IXmlDigest[] { Abilities, Items, ItemAttributes, Jobs, JobLevels, SkillSets, MonsterSkills, ActionMenus, StatusAttributes, InflictStatuses, PoachProbabilities, ENTDs, MoveFind }; foreach( IXmlDigest digest in digestable ) { digest.WriteXml( writer ); } writer.WriteEndElement(); } #if DEBUG using( FileStream stream = new FileStream( filename + ".xml", FileMode.Create ) ) { byte[] bytes = sb.ToString().ToByteArray(); stream.Write( bytes, 0, bytes.Length ); } #endif settings.ConformanceLevel = ConformanceLevel.Fragment; using( MemoryStream memoryStream = new MemoryStream( Resources.ZipFileContents[Resources.Paths.DigestTransform] ) ) using( XmlReader transformXmlReader = XmlReader.Create( memoryStream ) ) using( StringReader inputReader = new StringReader( sb.ToString() ) ) using( XmlReader inputXmlReader = XmlReader.Create( inputReader ) ) using( XmlWriter outputWriter = XmlWriter.Create( filename, settings ) ) { System.Xml.Xsl.XslCompiledTransform t = new System.Xml.Xsl.XslCompiledTransform(); t.Load( transformXmlReader ); t.Transform( inputXmlReader, outputWriter ); } }