RocksmithToolkitLib.Song2014ToTab.Rs2014Converter.Song2014ToXml C# (CSharp) Method

Song2014ToXml() public method

Convert RS2014 (Song2014) to XML file
public Song2014ToXml ( Song2014 rs2014Song, string outputPath, bool overWrite ) : string
rs2014Song RocksmithToolkitLib.Xml.Song2014
outputPath string
overWrite bool
return string
        public string Song2014ToXml(Song2014 rs2014Song, string outputPath, bool overWrite)
        {
            if (File.Exists(outputPath) && overWrite)
                File.Delete(outputPath);
            else
            {
                var outputDir = Path.GetDirectoryName(outputPath);
                var outputFile = String.Format("{0}_{1}", rs2014Song.Title, rs2014Song.Arrangement);
                outputFile = String.Format("{0}{1}", outputFile.ToLower().GetValidFileName(), "_rs2014.xml");
                outputPath = Path.Combine(outputDir, outputFile);
            }

            using (var stream = File.OpenWrite(outputPath))
            {
                rs2014Song.Serialize(stream, false);
            }

            return outputPath;
        }

Usage Example

Example #1
0
        /// <summary>
        /// Song2014 to ASCII Tablature
        /// </summary>
        /// <param name="rs2014Song"></param>
        /// <param name="outputDir"></param>
        /// <param name="allDif"></param>
        public void Song2014ToAsciiTab(Song2014 rs2014Song, string outputDir, bool allDif)
        {
            if (rs2014Song == null || String.IsNullOrEmpty(outputDir))
            {
                return;
            }
            // convert to Song
            Song rs1Song;

            using (var obj = new Rs2014Converter())
                rs1Song = obj.Song2014ToSong(rs2014Song);
            Console.WriteLine("Converted Song2014 To Song");

            if (false) // write Xml files for debugging
            {
                using (Rs2014Converter obj = new Rs2014Converter())
                    obj.Song2014ToXml(rs2014Song, outputDir);
                using (Rs1Converter obj = new Rs1Converter())
                    obj.SongToXml(rs1Song, outputDir);
            }

            // convert to SngFile
            string rs1SngFilePath;

            using (var obj = new Rs1Converter())
                rs1SngFilePath = obj.SongToSngFilePath(rs1Song, outputDir);
            Console.WriteLine("Converted Song To SngFile");

            // convert to AsciiTab
            using (var s2Tab = new Sng2Tab())
                s2Tab.Convert(rs1SngFilePath, outputDir, allDif);
            Console.WriteLine("Converted SngFile To AsciiTab");

            if (File.Exists(rs1SngFilePath))
            {
                File.Delete(rs1SngFilePath);
            }
        }
All Usage Examples Of RocksmithToolkitLib.Song2014ToTab.Rs2014Converter::Song2014ToXml