diff --git a/src/Umbraco.Core/Services/PackagingService.cs b/src/Umbraco.Core/Services/PackagingService.cs index ac651f675f..6245c2a31f 100644 --- a/src/Umbraco.Core/Services/PackagingService.cs +++ b/src/Umbraco.Core/Services/PackagingService.cs @@ -209,7 +209,7 @@ namespace Umbraco.Core.Services _importedContentTypes = new Dictionary(); var documentTypes = name.Equals("DocumentTypes") ? (from doc in element.Elements("DocumentType") select doc).ToList() - : new List {element.Element("DocumentType")}; + : new List {element}; //NOTE it might be an idea to sort the doctype XElements based on dependencies //before creating the doc types - should also allow for a better structure/inheritance support. foreach (var documentType in documentTypes) diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/importDocumenttype.aspx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/importDocumenttype.aspx.cs index 18eccdaaf1..aec5421174 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/importDocumenttype.aspx.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/importDocumenttype.aspx.cs @@ -5,7 +5,7 @@ using System.Web.UI.HtmlControls; using System.Xml; using System.Xml.Linq; using Umbraco.Core; -using umbraco.IO; +using Umbraco.Core.IO; namespace umbraco.presentation.umbraco.dialogs { @@ -69,12 +69,10 @@ namespace umbraco.presentation.umbraco.dialogs private void import_Click(object sender, EventArgs e) { - /*XmlDocument xd = new XmlDocument(); - xd.Load(tempFile.Value); - cms.businesslogic.packager.Installer.ImportDocumentType(xd.DocumentElement, base.getUser(), true); - dtNameConfirm.Text = xd.DocumentElement.SelectSingleNode("/DocumentType/Info/Name").FirstChild.Value;*/ + var xd = new XmlDocument(); + xd.Load(tempFile.Value); - var element = XElement.Parse(tempFile.Value); + var element = XElement.Parse(xd.InnerXml); var importContentTypes = ApplicationContext.Current.Services.PackagingService.ImportContentTypes(element); var contentType = importContentTypes.FirstOrDefault(); if (contentType != null) @@ -85,25 +83,22 @@ namespace umbraco.presentation.umbraco.dialogs done.Visible = true; } - private void submit_Click(object sender, System.EventArgs e) + private void submit_Click(object sender, EventArgs e) { tempFileName = "justDelete_" + Guid.NewGuid().ToString() + ".udt"; - string fileName = IOHelper.MapPath(SystemDirectories.Data + "/" + tempFileName); + var fileName = IOHelper.MapPath(SystemDirectories.Data + "/" + tempFileName); tempFile.Value = fileName; documentTypeFile.PostedFile.SaveAs(fileName); - XmlDocument xd = new XmlDocument(); + var xd = new XmlDocument(); xd.Load(fileName); - dtName.Text = xd.DocumentElement.SelectSingleNode("/DocumentType/Info/Name").FirstChild.Value; - dtAlias.Text = xd.DocumentElement.SelectSingleNode("/DocumentType/Info/Alias").FirstChild.Value; - + dtName.Text = xd.DocumentElement.SelectSingleNode("//DocumentType/Info/Name").FirstChild.Value; + dtAlias.Text = xd.DocumentElement.SelectSingleNode("//DocumentType/Info/Alias").FirstChild.Value; Wizard.Visible = false; done.Visible = false; Confirm.Visible = true; - } - } }