Sitecore 7.1升级 - 安装更新包时出现System.Xml.XmlException

时间:2015-10-17 06:36:38

标签: xml xml-parsing sitecore sitecore7

我正在尝试将Sitecore从7.0(rev.130424)升级到Sitecore 7.1(rev.130926),每当我尝试在更新安装向导中安装更新包时。它会在某个时刻陷入困境,而且下面是我发现的日志异常。

2376 15:41:17 ERROR Attempted to load invalid xml.
Exception: System.Xml.XmlException
Message: The 'r' start tag on line 1 position 2 does not match the end tag of 'd'. Line 1, position 230.
Source: System.Xml
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
   at System.Xml.XmlTextReaderImpl.ThrowTagMismatch(NodeData startTag)
   at System.Xml.XmlTextReaderImpl.ParseEndElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
   at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.LoadXml(String xml)
   at Sitecore.Xml.XmlUtil.LoadXml(String xml)

2376 15:41:17 ERROR First 200 characters: <r>  <r id="{4B77BB29-C937-4620-A6CC-A14B1A38DE8A}" par="Id=RenderView&amp;Path=%2fsitecore%2fshell%2fclient%2fSpeak%2fContent%2fDocumentation%2fExamples%2fChildRenderer.cshtml" uid="{AF0DDE68-3A6B-43
2376 15:41:17 ERROR Call stack:    at Sitecore.Xml.XmlUtil.LoadXml(String xml)
   at Sitecore.Data.Fields.LayoutField.LoadData()
   at Sitecore.Data.Fields.LayoutField..ctor(Field innerField)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Sitecore.Reflection.ReflectionUtil.CreateObject(Type type, Object[] parameters)
   at Sitecore.Data.Fields.FieldType.GetField(Field field)
   at Sitecore.Data.Fields.FieldTypeManager.GetField(Field field, String runtimeValue)
   at Sitecore.Data.Fields.FieldTypeManager.GetField(Field field)
   at Sitecore.Links.ItemLinks.AddLinks(Field field, List`1 links, ItemLinkState linkState)
   at Sitecore.Links.ItemLinks.GetLinks(ItemLinkState linkState, Boolean allVersions, Boolean includeStandardValuesLinks)
   at Sitecore.Links.LinkDatabase.UpdateItemVersionReferences(Item item)
   at Sitecore.Links.ItemEventHandler.OnItemSaved(Object sender, EventArgs args)
   at Sitecore.Events.Event.EventSubscribers.RaiseEvent(String eventName, Object[] parameters, EventResult result)
   at Sitecore.Events.Event.EventSubscribers.RaiseEvent(String eventName, Object[] parameters)
   at Sitecore.Events.Event.RaiseEvent(String eventName, Object[] parameters)
   at Sitecore.Events.Event.RaiseItemSaved(Object sender, ItemSavedEventArgs args)
   at Sitecore.Events.Event.DataEngine_ItemSaved(Object sender, ExecutedEventArgs`1 e)
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at Sitecore.Data.Engines.EngineCommand`2.RaiseExecuted()
   at Sitecore.Data.Engines.EngineCommand`2.Executed()
   at Sitecore.Data.Engines.EngineCommand`2.Execute()
   at Sitecore.Data.Engines.DataEngine.SaveItem(Item item)
   at Sitecore.Data.Managers.ItemProvider.SaveItem(Item item)
   at Sitecore.Data.Managers.ItemManager.SaveItem(Item item)
   at Sitecore.Data.Items.ItemEditing.AcceptChanges(Boolean updateStatistics, Boolean silent)
   at Sitecore.Update.Installer.Items.ItemFieldChangedProcessor.Worker.UpdateField(Field field, ChangeEntry entry)
   at Sitecore.Update.Installer.Items.ItemFieldChangedProcessor.Worker.UpdateField(Field field, ChangeEntry entry, CommandInstallerContext context)
   at Sitecore.Update.Installer.Items.ItemFieldChangedProcessor.Process(String commandKey, Item versionedItem, Field field, ChangeEntry valueEntry, ICommand command, CommandInstallerContext context, Worker worker)
   at Sitecore.Update.Installer.Items.ItemFieldChangedProcessor.Process(String commandKey, Item versionedItem, Field field, ChangeEntry valueEntry, ICommand command, CommandInstallerContext context)
   at Sitecore.Update.Installer.Items.AddItemCommandInstaller.ItemInstaller.UpdateSharedFields(String addCommandKey, Item sitecoreItem, SyncItem item, CommandInstallerContext context)
   at Sitecore.Update.Installer.Items.AddItemCommandInstaller.ItemInstaller.DoInstall(AddItemCommand addItemCommand, PackageEntry entry, CommandInstallerContext commandContext)
   at Sitecore.Update.Installer.Items.AddItemCommandInstaller.DoInstall(ICommand cmd, PackageEntry entry, CommandInstallerContext commandContext)
   at Sitecore.Update.Installer.Items.BaseItemCommandInstaller.Put(PackageEntry entry)
   at Sitecore.Install.Framework.SinkDispatcher.Put(PackageEntry entry)
   at Sitecore.Install.Utils.EntrySorter.Flush()
   at Sitecore.Install.Framework.EntryBuilder.Flush()
   at Sitecore.Install.Zip.PackageReader.Populate(ISink`1 sink)
   at Sitecore.Install.Utils.EntrySorter.Populate(ISink`1 sink)
   at Sitecore.Update.Installer.DiffInstaller.InstallPackage(String path, InstallMode mode, ILog installationProcessLogger, IList`1 entries, String rollbackPackagePath, Boolean& hasPostAction, String& historyPath)
   at Sitecore.Update.UpdateHelper.Install(PackageInstallationInfo info, ILog installationProcessLogger, String& historyPath)
   at Sitecore.Update.InstallUpdatePackage.Install()
   at Sitecore.Update.InstallUpdatePackage.InstallPackage(MetadataView view)
   at Sitecore.Update.InstallUpdatePackage.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at ASP.sitecore_admin_wizard_installupdatepackage_aspx.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
   at System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)
   at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)
   at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
   at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)

我在分析软件包时没有看到任何错误,但在我尝试安装更新后,会记录此异常。

还有其他人在尝试更新时遇到过这个问题吗?有线索吗?

1 个答案:

答案 0 :(得分:0)

之前我没有遇到过此问题,但看起来项目上的__renderings字段已损坏。

您应该能够告诉哪个项目更新安装向导将跟踪它更改的所有项目并将其打印出来 - 这将是最后一项更改。

确定项目后,找到它(通过guid)并查看项目标准字段的布局部分。在顶部功能区中切换原始值,并在字段中找到xml的问题。

更正后,请再次尝试重新运行更新向导以查看是否可以解决问题。