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

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