Is the text format fixes? If not, you could use json to make reading and writing easer with existing json libraries. The json syntax is very similar to what you have.
(ignore the comments on it, I got very hyperfixated on state buildings for a bit and forgot to remove the comments complaining about something i already fixed.)
Although this works, it will only work with this model. For a more dynamic implementation, you should use reflection. Newtonsoft.Json has attributes for defining custom keys for properties and for ignoring properties so you could do something similar.
Reflection provides objects that describe assemblies, modules, and types in C#. If your code includes attributes, reflection enables you to access them.
For reference, I made an app that regularly reads about 600 lines of json with pretty deep nesting and on a Ryzen 7 2700x the operation is basically instantaneous