.NET库-XML对象映射

本文关键字:映射 对象 -XML NET | 更新日期: 2023-09-27 17:49:56

全部,

我正在为.net寻找XML映射库。我想将一个对象映射到XML,然后获取XML并将其转换回对象。我知道.net中有对这种类型映射的原生支持,但非常有限和严格。我正在寻找像卡斯托这样的图书馆(http://www.castor.org/)存在于Java中。如果您了解任何其他灵活的XML映射库,请随时发表评论。谢谢

.NET库-XML对象映射

有两种类型的XML和对象映射。如果从.NET对象开始,将其序列化为XML,然后再将其转换回对象,这就是XML序列化。有关详细信息,请参阅序列化和反序列化。

另一方面,如果您确切地知道XML应该是什么样子,那么您希望将它们自动解析为对象,并将它们转换回XML。您将首先准备一个模式定义(在XSD或Relax NG中(并生成一个代码。这叫做XML数据绑定。请参阅xsd代码生成器的比较。

编辑:我从未使用过这个,但我发现了XStream的.NET端口XStream.NET。我不知道它是否与Castor相比,但我喜欢XStream。

Xsd2Code是我遇到的最好的。

还有一个在线工具,CodeXS,非常好。微软也有XSDObjectGen,它比Visual Studio使用的工具更好,但都不如Xsd2Code。

以下两种方法能解决您的问题吗:

    public string GetXml(object obj, Type t)
    { 
        ///It will create XML using reflection
        ///but this xml wont have any attributes
        ///all properties will XMl elements
    }
    public object GetXml(string xml, Type t)
    {
        ///It will create the object from the XML
    }

我将把这些方法作为类型对象的扩展方法。然后它将更容易访问。只要告诉我,我会为你执行这个。这是我的ID:sonalsavartkar@gmail.com

我们创建了一个框架,可以从XML中自动生成C#类。它是一个可视化项模板,您可以将XML传递到该模板,并且类将在项目中自动生成。使用这些类,您可以创建/读取/编写XML。

查看框架和Visual C#项目模板的链接:单击此处