大家好:我必须将我的数据,几乎整个域模型结构导出到正式的xml文件中。有没有人知道我可以用来将xml架构映射到我的.NET对象模型的可视化工具?
答案 0 :(得分:1)
将对象导出到xml的最简单方法是使用<Serializalbe>
属性标记每个类。然后拨打XmlSerializer.Serialize()
。
您还可以使用XmlSerializer.Deserialize()
将xml导回到对象中。
如果您需要架构,则可以使用xsd.exe使用以下任一方法生成它:
xsd.exe myClassLibrary.dll
xsd.exe myFile.xml
有关更多详情,请参阅xsd.exe和XmlSerializer的文档。
答案 1 :(得分:0)
另一种方法很简单:您可以使用xsd.exe从XSD架构生成.Net数据绑定类模型。
但是在.Net中使用任意对象模型并将其序列化为XML - 我甚至不确定它是否可行。您的某些类型必然比您在XML中表示的类型更复杂。因此,似乎从XML方面开始是必要的。
答案 2 :(得分:0)
我知道在.NET框架中不支持这种情况。
我会开始查看反射,循环遍历所有类型及其成员,在XML中发出相应的描述。
答案 3 :(得分:0)
其他人已经指出了Visual Studio中的XSD支持。这有一个可视化设计器,但它不会映射到您的类 - 它可以创建强类型对象。
在少数情况下,XMLSerialization很棒:1)数据传输(Web服务)2)节省原型时间。我强烈建议不要将对象的直接XML序列化作为持久性机制(永久存储)。当您需要更改架构时,这将是痛苦的。是的,有理论上的解决方案,我从未见过它们在实践中很容易运作。我感到很多痛苦维护(和重新设计)快速序列化解决方案,并对此有强烈的感受:)
问题是您导出域模型的原因?这只是一个导出功能吗?如果是这样,序列化可能很棒。您可能找不到可视化工具来执行此操作。但是通常很容易在类上创建具有属性的正式,甚至漂亮的XML。