从原始xml(无模式)到c#类?

Teh*_*One 2 c# xml xml-serialization

我有一个xml文件,我想生成ac#class for.有没有快速简便的方法来做到这一点?我没有使用我的xml文件的架构,它只是原始的xml.有任何想法吗?

谢谢.

mar*_*c_s 5

我所知道的所有代码生成工具都需要一个模式 - 但您可以轻松地从XML数据文件中创建一个模式.

您可以使用xsd.exe从XML数据文件推断XML模式:

xsd.exe yourdata.xml 
Run Code Online (Sandbox Code Playgroud)

这将创建一个yourdata.xsd.当然,xsd.exe只能猜测 - 有时候非常好,有时候不太好.您可能希望在继续之前检查(并可能修改)架构.

(您可以在Visual Studio中执行相同操作:加载XML文件,然后从XML菜单中选择"创建模式").

然后,您可以从该架构创建可序列化的类:

xsd.exe yourdata.xsd /classes
Run Code Online (Sandbox Code Playgroud)

这将创建一个yourdata.cs包含C#类的文件,该类可以从XML数据文件中序列化和反序列化.