Получить список десериализованных объектов из gml, используя сериализатор xml и специальный метод вставки для создания объектов - PullRequest
0 голосов
/ 13 апреля 2020

Мне нужно обработать gml-файлы для объектов, я приблизился, используя средство чтения текста, обрезая и разбивая текст, но это слишком трудоемко для каждого узла и потомка.

Я искал чтобы получить ответы и самое близкое, что я пришел, это использовать вставку special для создания классов из файлов gml, чтобы десериализовать их из исходного файла, однако я не могу получить ничего от сериализатора, когда пытаюсь передать typeof (класс, сгенерированный из gml), может кто-то подскажите, пожалуйста, как использовать сериализатор xml, чтобы получить список десериализованных объектов для соответствующего ему класса c#.

После того, как я создаю классы из файлов gml, используя команду paste special xml.

Эта функция не возвращает объекты типа, я создал объекты, потому что мне нужен список объектов в файле gml, это должно быть легко, но мне не хватает некоторой части, чтобы получить объекты из сериализатора.

public static T ParseXml<T>(this string value) where T : class
{
            var xmlSerializer = new XmlSerializer(typeof(T));
            using (var textReader = new StringReader(value))
            {
                return (T)xmlSerializer.Deserialize(textReader);
            }
}

Использование;

string gml = File.ReadAllText(gmlpath);
var object = gml.ParseXml<GENERATEDCUSTOMOBJECTCLASS>();

Пожалуйста, помогите, как я могу получить список пользовательских объектов из файлов XML. Это возвращает ноль как один объект. Мне не нужна опция сериализации обратно в gml, просто чтобы прочитать их как объекты и перейти к адекватным C# объектам. Спасибо!

...