Пример #1
0
        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);
                            }
        }
Пример #2
0
        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 );
            }
        }