Handle comments in XML in a smarter way

This commit is contained in:
Matt Nadareski
2026-04-21 14:23:35 -04:00
parent c02698edcd
commit d28a88e193
9 changed files with 385 additions and 0 deletions

View File

@@ -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;

View File

@@ -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<GameBase> 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;

View File

@@ -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<Dir> 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;

View File

@@ -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<GameBase> 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;

View File

@@ -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<GameBase> 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;

View File

@@ -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<Game> 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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;