Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NETJAXB等价物?_C#_.net_Jaxb - Fatal编程技术网

C# .NETJAXB等价物?

C# .NETJAXB等价物?,c#,.net,jaxb,C#,.net,Jaxb,NET中是否有与JAXB等效的库?我正在尝试将得到的XML转换为.NET类。我有XSD,但不知道如何将收到的XML转换成具体的类?我使用从模式生成一个类,但我希望将动态接收的XML转换为可以在代码中使用的对象 我已经看到了处理这个问题的线程,但我的查询是-我希望创建的对象包含我在XML中接收的数据(即必须填充字段值) 您可以使用xsd.exe生成类,然后在代码中使用XmlSerializer填充类。例如,如果xsd.exe创建了一个名为Foo的类,则可以编写: Foo someFoo; usin

NET中是否有与JAXB等效的库?我正在尝试将得到的XML转换为.NET类。我有XSD,但不知道如何将收到的XML转换成具体的类?我使用从模式生成一个类,但我希望将动态接收的XML转换为可以在代码中使用的对象


我已经看到了处理这个问题的线程,但我的查询是-我希望创建的对象包含我在XML中接收的数据(即必须填充字段值)

您可以使用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);
}

这是一个更好的方法,更接近我所寻找的:

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

不是说你错了,只是好奇为什么这个解决方案比Mike Two的好+1一旦您回答,您的问题将询问XML=>object。您的答案正好相反:object=>XML。