如何从多个XML文件创建C#类

时间:2012-04-27 12:32:09

标签: xml c#-4.0 xsd xsd.exe

我正在寻找一个工具(最好是免费软件),它可以帮助我从多个xml文件创建C#DTO(类)。

其中一些xml文件包含相同的复杂类型,因此为了避免重复类,我必须从多个文件中创建一个XSD。

我尝试了xsd.exe(随visual studio提供)工具,但它不需要多个xml文件。

请帮忙。

1 个答案:

答案 0 :(得分:1)

QTAssistant(我与之关联)在XML部分的Tools选项卡下有一个名为“XSD from XMLs”的命令。它会提示您:

  • 您要使用的XML文件;
  • 存储生成的XSD文件的文件夹。

该工具基于.NET技术,因此生成的输出的样式是.NET,版本仅限于XSD 1.0。

该工具可以免费试用,尽管出于支持原因需要注册。如果您不想注册,请使用网站上的支持联系信息向我发送电子邮件,我将向您发送私人链接。

例如,如果您查看使用this question on SO发布的XML,那么QTAssistant将生成此XSD:

QTAssistant inferred XSD from multiple XML files

我指出这一点的原因与您对生成的XSD内容的期望有关。如果您看一下上图中的选项,虽然它符合用户提出的要求,但也可能不适合其他人...

因此,对于此类练习,使用与您想到的有效场景一样多的XML非常重要。鉴于推理如何工作,您应该期望一些不需要的XML模式“滑过”生成的XSD;在这种情况下,您可以尝试手动编辑某些位...如果它不起作用,请将XSD规范归咎于其局限性......