.NET JAXB эквивалент? - PullRequest
       1

.NET JAXB эквивалент?

9 голосов
/ 13 марта 2010

Есть ли эквивалентная библиотека для JAXB в .NET? Я пытаюсь преобразовать XML, который я получаю в класс .NET. У меня есть XSD, но я не уверен, как преобразовать полученный XML в конкретный класс? Я использовал XSD tool для генерации класса из схемы, но я хочу преобразовать XML, который я получаю на лету, в объект, с которым можно работать в коде.

Я видел поток здесь , который имеет дело с этим, но мой запрос - я хочу, чтобы созданный объект содержал данные, которые я получаю в XML (то есть значения полей должны быть заполнены) ,

Ответы [ 2 ]

10 голосов
/ 13 марта 2010

Вы можете использовать xsd.exe для генерации класса, а затем использовать XmlSerializer в своем коде для заполнения класса. Например, если xsd.exe создает класс с именем Foo, вы можете написать:

Foo someFoo;
using (var stream = new FileStream("foo.xml", FileMode.Open))
{
    var serializer = new XmlSerializer(typeof(Foo));
    someFoo = serializer.Deserialize(stream);
}
0 голосов
/ 23 сентября 2010

Это гораздо лучший способ и ближе к тому, что я искал:

static public string serializeObject(ProductPriceLines objecteToSerialize)
    {
        System.Xml.Serialization.XmlSerializer mySerializer = new System.Xml.Serialization.XmlSerializer(typeof(ProductPriceLines));

        System.IO.MemoryStream t = new System.IO.MemoryStream();
        mySerializer.Serialize(t, objecteToSerialize);


        UTF8Encoding utf = new UTF8Encoding();
        string strbytes = utf.GetString(t.ToArray());


        return strbytes;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...