Fix OpenMSX rom attribute parsing

This commit is contained in:
Matt Nadareski
2026-09-18 10:34:40 -04:00
parent 3c0c31cf10
commit d9dd16fbb9
2 changed files with 15 additions and 2 deletions

View File

@@ -11,19 +11,27 @@ namespace SabreTools.Data.Models.OpenMSX
/// <remarks>
/// "hash" in older versions, "sha1" in newer versions
/// </remarks>
[XmlAttribute("sha1")]
[XmlElement("hash")]
[XmlElement("sha1")]
public string? SHA1 { get; set; }
/// <remarks>
/// Element in older versions and DTD, attribute in newer versions
/// </remarks>
[XmlAttribute("type")]
[XmlElement("type")]
public string? Type { get; set; }
/// <remarks>
/// Only present in newer versions
/// </remarks>
[XmlElement("status")]
[XmlAttribute("status")]
public string? Status { get; set; }
/// <remarks>
/// Element in older versions and DTD, attribute in newer versions
/// </remarks>
[XmlAttribute("remark")]
[XmlElement("remark")]
public string? Remark { get; set; }

View File

@@ -226,6 +226,11 @@ namespace SabreTools.Serialization.Readers
else
return null;
obj.SHA1 = reader.GetAttribute("sha1");
obj.Type = reader.GetAttribute("type");
obj.Status = reader.GetAttribute("status");
obj.Remark = reader.GetAttribute("remark");
// Handle empty elements
if (reader.IsEmptyElement)
return obj;