/// <summary> /// Create an AMLX file with the aml file as string input /// </summary> /// <param name="caex">the complete aml file as a string</param> /// <param name="filename">the path to the original gsdml/iodd file</param> /// <returns>the result message as a string</returns> private string createAMLXFromString(string caex, string filename) { // create the CAEXDocument from byte string byte[] bytearray = System.Text.Encoding.Unicode.GetBytes(caex); CAEXDocument document = CAEXDocument.LoadFromBinary(bytearray); // create the amlx file string name = Path.GetFileNameWithoutExtension(filename); AutomationMLContainer amlx = new AutomationMLContainer(".\\modellingwizard\\" + name + ".amlx", FileMode.Create); // create the aml package path Uri partUri = PackUriHelper.CreatePartUri(new Uri("/" + name + "-root.aml", UriKind.Relative)); // create a temp aml file string path = Path.GetTempFileName(); document.SaveToFile(path, true); // copy the new aml into the package PackagePart root = amlx.AddRoot(path, partUri); // copy the original file into the package Uri gsdURI = new Uri(new FileInfo(filename).Name, UriKind.Relative); Uri gsdPartURI = PackUriHelper.CreatePartUri(gsdURI); amlx.AddAnyContent(root, filename, gsdPartURI); amlx.Save(); amlx.Close(); return("Sucessfully imported device!\nCreated File " + Path.GetFullPath(".\\modellingwizard\\" + name + ".amlx")); }