public static XmlProgramRenamerResult RenameProgram( string programCode, string newProgramName) { try { var document = XDocument.Load(new StringReader(programCode)); document.Declaration = new XDeclaration("1.0", "UTF-8", "yes"); var program = document.Element("program"); var header = program.Element("header"); var programName = header.Element("programName"); programName.SetValue(newProgramName); var writer = new XmlStringWriter(); document.Save(writer, SaveOptions.None); var newProgramCode = writer.ToString(); return new XmlProgramRenamerResult { Status = XmlRenameStatus.Success, NewProgramCode = newProgramCode }; } catch (Exception) { return new XmlProgramRenamerResult { Status = XmlRenameStatus.Error, NewProgramCode = null }; } }
//public async Task Save(string path = null) //{ // // TODO XML: move to IDE.Core // if (path == null) // { // path = BasePath + "/" + StorageConstants.ProgramCodePath; // } // if (Debugger.IsAttached) // { // await SaveInternal(path); // } // else // { // try // { // await SaveInternal(path); // } // catch (Exception ex) // { // throw new Exception("Cannot write Project", ex); // } // } //} //private async Task SaveInternal(string path) //{ // // TODO XML: move to IDE.Core // using (var storage = StorageSystem.GetStorage()) // { // var writer = new XmlStringWriter(); // var document = CreateXml(); // document.Save(writer, SaveOptions.None); // var xml = writer.GetStringBuilder().ToString(); // await storage.WriteTextFileAsync(path, xml); // } //} public string ToXmlString() { var writer = new XmlStringWriter(); var document = CreateXml(); document.Save(writer, SaveOptions.None); return writer.ToString(); }