1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-03-05 13:20:20 -05:00

Fixed: Multiple XML declarations in kodi/xmbc episodes metadata

Closes #8242
This commit is contained in:
Stevie Robinson
2025-12-13 01:28:35 +01:00
committed by Mark McDowall
parent 52972e7efc
commit cbd7df2c91

View File

@@ -286,20 +286,20 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc
var watched = GetExistingWatchedStatus(series, episodeFile.RelativePath);
var xmlResult = string.Empty;
var xws = new XmlWriterSettings
{
Encoding = Encoding.UTF8,
Indent = true
Indent = true,
ConformanceLevel = ConformanceLevel.Fragment
};
using var sw = new Utf8StringWriter();
using var xw = XmlWriter.Create(sw, xws);
xw.WriteProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"");
foreach (var episode in episodeFile.Episodes.Value)
{
var doc = new XDocument
{
Declaration = new XDeclaration("1.0", "UTF-8", "yes")
};
var image = episode.Images.SingleOrDefault(i => i.CoverType == MediaCoverTypes.Screenshot);
var details = new XElement("episodedetails");
@@ -391,17 +391,12 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc
// details.Add(new XElement("credits", tvdbEpisode.Writer.FirstOrDefault()));
// details.Add(new XElement("director", tvdbEpisode.Directors.FirstOrDefault()));
using var sw = new Utf8StringWriter();
using var xw = XmlWriter.Create(sw, xws);
doc.Add(details);
doc.Save(xw);
xw.Flush();
xmlResult += sw.ToString();
xmlResult += Environment.NewLine;
details.WriteTo(xw);
}
xw.Flush();
var xmlResult = sw.ToString();
return new MetadataFileResult(GetEpisodeMetadataFilename(episodeFile.RelativePath), xmlResult.Trim(Environment.NewLine.ToCharArray()));
}