delete broken xml files
There is no other way to recover from this state. If the cache still exists, rebuilding the files shouldn't take long.
This commit is contained in:
parent
68582ede98
commit
9974e840bb
@ -53,22 +53,31 @@ namespace ConfusedPolarBear.Plugin.IntroSkipper
|
|||||||
{
|
{
|
||||||
if (File.Exists(filePath))
|
if (File.Exists(filePath))
|
||||||
{
|
{
|
||||||
// Load the XML document
|
try
|
||||||
XmlDocument xmlDoc = new XmlDocument();
|
|
||||||
xmlDoc.Load(filePath);
|
|
||||||
|
|
||||||
ArgumentNullException.ThrowIfNull(xmlDoc.DocumentElement);
|
|
||||||
|
|
||||||
// check that the file has not already been migrated
|
|
||||||
if (xmlDoc.DocumentElement.HasAttribute("xmlns:xsi"))
|
|
||||||
{
|
{
|
||||||
xmlDoc.DocumentElement.RemoveAttribute("xmlns:xsi");
|
// Load the XML document
|
||||||
xmlDoc.DocumentElement.RemoveAttribute("xmlns:xsd");
|
XmlDocument xmlDoc = new XmlDocument();
|
||||||
xmlDoc.DocumentElement.SetAttribute("xmlns", "http://schemas.datacontract.org/2004/07/ConfusedPolarBear.Plugin.IntroSkipper");
|
xmlDoc.Load(filePath);
|
||||||
xmlDoc.DocumentElement.SetAttribute("xmlns:i", "http://www.w3.org/2001/XMLSchema-instance");
|
|
||||||
|
|
||||||
// Save the modified XML document
|
ArgumentNullException.ThrowIfNull(xmlDoc.DocumentElement);
|
||||||
xmlDoc.Save(filePath);
|
|
||||||
|
// Check that the file has not already been migrated
|
||||||
|
if (xmlDoc.DocumentElement.HasAttribute("xmlns:xsi"))
|
||||||
|
{
|
||||||
|
xmlDoc.DocumentElement.RemoveAttribute("xmlns:xsi");
|
||||||
|
xmlDoc.DocumentElement.RemoveAttribute("xmlns:xsd");
|
||||||
|
xmlDoc.DocumentElement.SetAttribute("xmlns", "http://schemas.datacontract.org/2004/07/ConfusedPolarBear.Plugin.IntroSkipper");
|
||||||
|
xmlDoc.DocumentElement.SetAttribute("xmlns:i", "http://www.w3.org/2001/XMLSchema-instance");
|
||||||
|
|
||||||
|
// Save the modified XML document
|
||||||
|
xmlDoc.Save(filePath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (XmlException ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Error deserializing XML: {ex.Message}");
|
||||||
|
File.Delete(filePath);
|
||||||
|
Console.WriteLine($"Deleting {filePath}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user