xmlException: Duplicate Attribute Name

Jul 7, 2009 at 3:51 PM

I'd appreciate some help debugging or working around an issue that has brought my blog site down.  I'm running BlogEngine.Net 1.5 beta with an XML data source.  You can view the error at: www.sqlserverbiblog.com

I've made no code changes and my site's been up and running for a few months with no problems.  The odd thing is that site was running perfectly with no changes just prior to the error.

'quality' is a duplicate attribute name. Line 19, position 596.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Xml.XmlException: 'quality' is a duplicate attribute name. Line 19, position 596.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Stack Trace:

[XmlException: 'quality' is a duplicate attribute name. Line 19, position 596.]
   System.Xml.XmlTextReaderImpl.Throw(Exception e) +90
   System.Xml.XmlTextReaderImpl.AttributeDuplCheck() +349
   System.Xml.XmlTextReaderImpl.ParseAttributes() +1950019
   System.Xml.XmlTextReaderImpl.ParseElement() +545
   System.Xml.XmlTextReaderImpl.ParseElementContent() +461
   System.Xml.XmlTextReaderImpl.Read() +29
   System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace) +557
   System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc) +50
   System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) +162
   System.Xml.XmlDocument.Load(XmlReader reader) +96
   System.Xml.XmlDocument.Load(String filename) +160
   BlogEngine.Core.Providers.XmlBlogProvider.SelectPage(Guid id) in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Providers\XmlProvider\Pages.cs:32
   BlogEngine.Core.Providers.BlogService.SelectPage(Guid id) in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Providers\BlogService.cs:145
   BlogEngine.Core.Page.DataSelect(Guid id) in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Page.cs:312
   BlogEngine.Core.Page.Load(Guid id) in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Page.cs:366
   BlogEngine.Core.Providers.XmlBlogProvider.FillPages() in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Providers\XmlProvider\Pages.cs:129
   BlogEngine.Core.Page.get_Pages() in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Page.cs:240
   BlogEngine.Core.Page.GetFrontPage() in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Page.cs:275
   BlogEngine.Core.Web.HttpModules.UrlRewrite.context_BeginRequest(Object sender, EventArgs e) in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Web\HttpModules\UrlRewrite.cs:56
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64



Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433

<!-- [XmlException]: 'quality' is a duplicate attribute name. Line 19, position 596. at System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.AttributeDuplCheck() at System.Xml.XmlTextReaderImpl.ParseAttributes() at System.Xml.XmlTextReaderImpl.ParseElement() 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.Load(String filename) at BlogEngine.Core.Providers.XmlBlogProvider.SelectPage(Guid id) in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Providers\XmlProvider\Pages.cs:line 32 at BlogEngine.Core.Providers.BlogService.SelectPage(Guid id) in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Providers\BlogService.cs:line 145 at BlogEngine.Core.Page.DataSelect(Guid id) in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Page.cs:line 312 at BlogEngine.Core.Page.Load(Guid id) in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Page.cs:line 366 at BlogEngine.Core.Providers.XmlBlogProvider.FillPages() in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Providers\XmlProvider\Pages.cs:line 129 at BlogEngine.Core.Page.get_Pages() in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Page.cs:line 240 at BlogEngine.Core.Page.GetFrontPage() in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Page.cs:line 275 at BlogEngine.Core.Web.HttpModules.UrlRewrite.context_BeginRequest(Object sender, EventArgs e) in C:\Projects\BlogEngine\1.4.5.10\BlogEngine\DotNetSlave.BusinessLogic\Web\HttpModules\UrlRewrite.cs:line 56 at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) --><!-- This error page might contain sensitive information because ASP.NET is configured to show verbose error messages using <customErrors mode="Off"/>. Consider using <customErrors mode="On"/> or <customErrors mode="RemoteOnly"/> in production environments.-->