C# 从XML生成类

C# 从XML生成类,c#,xml,class,generator,C#,Xml,Class,Generator,一开始我想确认我是C#的新手。我只是有一些AVR ANSIC编程的经验 我要做一个练习(截止日期:2012年4月)。这不是我的家庭作业,这是向我的朋友和老师证明我能做到的唯一方式。让我们来介绍一下练习的想法: 标题:类生成器WinForm 细节:我需要创建一个应用程序(基于System.Reflection),它将用c#创建源代码(类)。此应用程序将允许用户添加随机XML文件并将其转换为c#类。最终用户将能够将其保存在某个地方 我已经制作了部分代码(在微软Visual Studio C#中),让

一开始我想确认我是C#的新手。我只是有一些AVR ANSIC编程的经验

我要做一个练习(截止日期:2012年4月)。这不是我的家庭作业,这是向我的朋友和老师证明我能做到的唯一方式。让我们来介绍一下练习的想法:

标题:类生成器WinForm 细节:我需要创建一个应用程序(基于System.Reflection),它将用c#创建源代码(类)。此应用程序将允许用户添加随机XML文件并将其转换为c#类。最终用户将能够将其保存在某个地方

我已经制作了部分代码(在微软Visual Studio C#中),让用户选择并保存文件

我认为应该是这样的: XML示例(我知道这些示例可能写错-但我不知道XML)

我需要您的用户提供哪些帮助:

  • 关于同一项目/应用程序的有用链接-我在该网站上搜索,但没有找到有趣的内容
  • 任何想法或糟糕的源代码,主要显示它应该如何工作
  • 反序列化是什么,它会有用吗

  • 作为起点,.NET附带了,它可以从XML/XSD生成C#类。获得类后,可以从XML文件反序列化,将文件中的数据读取到对象的属性中。

    1)您将无法获得指向所需内容的直接链接。搜索xml节点读取、xml属性和节点名称。Xquery路径。2) 如果您首先采用增量方法查找根节点,然后将其写入源文件,等等3)我认为xml搜索不会对您有多大帮助

    编写从xml到C的通用映射是。。。复杂,在许多情况下可能确实不可能。然而,如xsd等工具所示,可以从xml推断模式。但是,作为一个简单得多的选项,您可以只查看使用xslt解析xml,这可以简单地检查同类(以确定某个内容是单独的还是列表等)如果你对c#、xml和xslt很了解,那么去掉一些基本的功能将是一件非常简单的事情

    复杂性还取决于您是否期望能够使用来自同一模式的任意数据填充对象模型:如果您只需插入
    XmlSerializer
    ,那就太好了!但是,从头开始或从
    XmlReader
    (作为起点)编写一个完整的xml序列化引擎并非易事


    Xml也可能比您预期的要复杂得多-有很多微妙之处(不仅仅是,
    xmlns
    名称空间)。

    要做好这项工作,最好的工具是


    做这项工作效果很好。它不需要任何XSD或任何东西。直接将XML转换为POCO类。

    他的任务是创建一个应用程序(基于System.Reflection),该应用程序将创建源代码,因此他不会要求现成的解决方案,除非我不知何故误解了他。是的。他询问(在第1点)关于“关于同一项目/应用程序的有用链接”,xsd.exe是。此外,我把“作为一个起点”表示这不是一个完整的答案。
    <pizza>
      <vezuvio>
         <prize> 10 </prize>
      </vezuvio>
    </pizza>
    
    class Pizza{
      contruct vesuvio{
        int prize = 10;
      }
    }