From d28a88e1931adbe5447ae24326eed8eea29703ef Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 21 Apr 2026 14:23:35 -0400 Subject: [PATCH] Handle comments in XML in a smarter way --- .../ArchiveDotOrg.cs | 7 ++ SabreTools.Serialization.Readers/Listxml.cs | 51 +++++++++++ SabreTools.Serialization.Readers/Logiqx.cs | 33 +++++++ SabreTools.Serialization.Readers/M1.cs | 51 +++++++++++ SabreTools.Serialization.Readers/Mess.cs | 51 +++++++++++ .../NoIntroDatabase.cs | 29 +++++++ .../OfflineList.cs | 85 +++++++++++++++++++ SabreTools.Serialization.Readers/OpenMSX.cs | 32 +++++++ .../SoftwareList.cs | 46 ++++++++++ 9 files changed, 385 insertions(+) diff --git a/SabreTools.Serialization.Readers/ArchiveDotOrg.cs b/SabreTools.Serialization.Readers/ArchiveDotOrg.cs index c6e83c6c..d9d713d7 100644 --- a/SabreTools.Serialization.Readers/ArchiveDotOrg.cs +++ b/SabreTools.Serialization.Readers/ArchiveDotOrg.cs @@ -116,6 +116,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; diff --git a/SabreTools.Serialization.Readers/Listxml.cs b/SabreTools.Serialization.Readers/Listxml.cs index e480b5ae..76513fdc 100644 --- a/SabreTools.Serialization.Readers/Listxml.cs +++ b/SabreTools.Serialization.Readers/Listxml.cs @@ -30,6 +30,10 @@ namespace SabreTools.Serialization.Readers Mame? mame = null; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -82,6 +86,10 @@ namespace SabreTools.Serialization.Readers List games = []; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -131,6 +139,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -244,6 +256,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -322,6 +338,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -396,6 +416,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -483,6 +507,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -545,6 +573,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -724,6 +756,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -970,6 +1009,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -1033,6 +1076,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -1136,6 +1183,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; diff --git a/SabreTools.Serialization.Readers/Logiqx.cs b/SabreTools.Serialization.Readers/Logiqx.cs index 0a628510..7424d872 100644 --- a/SabreTools.Serialization.Readers/Logiqx.cs +++ b/SabreTools.Serialization.Readers/Logiqx.cs @@ -30,6 +30,10 @@ namespace SabreTools.Serialization.Readers Datafile? datafile = null; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -85,6 +89,10 @@ namespace SabreTools.Serialization.Readers List dirs = []; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -164,6 +172,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -392,6 +407,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -518,6 +537,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -810,6 +836,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; diff --git a/SabreTools.Serialization.Readers/M1.cs b/SabreTools.Serialization.Readers/M1.cs index 2b724228..59832b3c 100644 --- a/SabreTools.Serialization.Readers/M1.cs +++ b/SabreTools.Serialization.Readers/M1.cs @@ -30,6 +30,10 @@ namespace SabreTools.Serialization.Readers Data.Models.Listxml.M1? m1 = null; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -80,6 +84,10 @@ namespace SabreTools.Serialization.Readers List games = []; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -129,6 +137,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -242,6 +254,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -320,6 +336,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -394,6 +414,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -481,6 +505,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -543,6 +571,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -722,6 +754,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -968,6 +1007,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -1031,6 +1074,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -1134,6 +1181,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; diff --git a/SabreTools.Serialization.Readers/Mess.cs b/SabreTools.Serialization.Readers/Mess.cs index e73f0091..04baf166 100644 --- a/SabreTools.Serialization.Readers/Mess.cs +++ b/SabreTools.Serialization.Readers/Mess.cs @@ -30,6 +30,10 @@ namespace SabreTools.Serialization.Readers Data.Models.Listxml.Mess? mess = null; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -80,6 +84,10 @@ namespace SabreTools.Serialization.Readers List games = []; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -129,6 +137,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -242,6 +254,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -320,6 +336,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -394,6 +414,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -481,6 +505,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -543,6 +571,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -722,6 +754,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -968,6 +1007,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -1031,6 +1074,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -1134,6 +1181,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; diff --git a/SabreTools.Serialization.Readers/NoIntroDatabase.cs b/SabreTools.Serialization.Readers/NoIntroDatabase.cs index e0f1e770..15669c78 100644 --- a/SabreTools.Serialization.Readers/NoIntroDatabase.cs +++ b/SabreTools.Serialization.Readers/NoIntroDatabase.cs @@ -29,6 +29,10 @@ namespace SabreTools.Serialization.Readers Datafile? datafile = null; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -77,6 +81,10 @@ namespace SabreTools.Serialization.Readers List games = []; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -214,6 +222,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -305,6 +320,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -427,6 +449,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; diff --git a/SabreTools.Serialization.Readers/OfflineList.cs b/SabreTools.Serialization.Readers/OfflineList.cs index 18e47a72..a6f76709 100644 --- a/SabreTools.Serialization.Readers/OfflineList.cs +++ b/SabreTools.Serialization.Readers/OfflineList.cs @@ -30,6 +30,10 @@ namespace SabreTools.Serialization.Readers Dat? dat = null; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -80,6 +84,10 @@ namespace SabreTools.Serialization.Readers while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -136,6 +144,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -201,6 +216,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -343,6 +365,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -408,6 +437,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -535,6 +571,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -585,6 +628,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -701,6 +751,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -751,6 +808,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -1049,6 +1113,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -1109,6 +1180,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -1165,6 +1243,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; diff --git a/SabreTools.Serialization.Readers/OpenMSX.cs b/SabreTools.Serialization.Readers/OpenMSX.cs index 72d41f93..a7800244 100644 --- a/SabreTools.Serialization.Readers/OpenMSX.cs +++ b/SabreTools.Serialization.Readers/OpenMSX.cs @@ -29,6 +29,10 @@ namespace SabreTools.Serialization.Readers SoftwareDb? softwareDb = null; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -81,6 +85,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -131,6 +142,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -215,6 +233,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -281,6 +306,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; diff --git a/SabreTools.Serialization.Readers/SoftwareList.cs b/SabreTools.Serialization.Readers/SoftwareList.cs index efce56c9..be0a9a7b 100644 --- a/SabreTools.Serialization.Readers/SoftwareList.cs +++ b/SabreTools.Serialization.Readers/SoftwareList.cs @@ -30,6 +30,10 @@ namespace SabreTools.Serialization.Readers Data.Models.SoftwareList.SoftwareList? softwareList = null; while (reader.Read()) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + continue; + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -83,6 +87,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -146,6 +157,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -202,6 +220,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -290,6 +315,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -378,6 +410,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break; @@ -500,6 +539,13 @@ namespace SabreTools.Serialization.Readers reader.Read(); while (!reader.EOF) { + // Comments have to be skipped + if (reader.NodeType == XmlNodeType.Comment) + { + reader.Skip(); + continue; + } + // An ending element means exit if (reader.NodeType == XmlNodeType.EndElement) break;