我只是想知道是否有一个程序可以将XSD文件转换为Python类,就像JAXB为Java做的那样?
谁能告诉我XSDObjectGen.exe和XSD.exe有什么区别?
有没有办法让XSDObjectGen.exe在dot net 2.0中运行?
xsd.exe工具为给定的xsd文件生成类.它遵循命名类型的模式.例如,
<Students>
<Student Name="A" RollNo="1" Address="Some Address">
<Department Id="20" Name="CSE"/>
</Student>
</Students>
xsd.exe /c Students.xsd
Run Code Online (Sandbox Code Playgroud)
生成Students.cs文件.如果我们看到元素的类型
Element Type Name
Students Students
Student StudentsStudent
Department StudentsStudentDepartment
Run Code Online (Sandbox Code Playgroud)
如果元素是子元素,它通过为父元素名称添加前缀来生成类型.我们可以控制这个名字吗?我需要类型名称与元素名称相同.学生=>学生,部门=>部门
提前致谢
我是XML编码的新手.我有一个XML文件,使用XSD工具生成Schema文件,然后使用Xsd2Code工具生成类文件.
现在我有一个名为Timesheet.Designer.cs的文件,其中包含所有类信息和序列化方法.我可以在项目中使用相同的文件,还是将其保存为基类,并使用Timesheet.cs生成一个单独的文件来访问此类和修改?任何人都可以向我指出一个很好的教程或示例,它展示了如何在我的应用程序中使用它来读取和写入XML文件?
我有许多XML文件中的complexType元素.因此,该工具也为所有这些ComplexTypes生成了不同的类.
如果有人已经有一些代码,请在此处发布.
我想尝试在Visual Studio中使用自定义工具时,可以更改一个文件的内容,触发另一个文件的自定义工具.
我的情况是这样的:
在Visual Studio C#项目中,我有一个"master.xsd"xml架构,其中包含其他几个其他xsd文件.我正在使用Xsd2Code Visual Studio自定义工具从架构生成.cs.当master.xsd本身发生变化时,这可以正常工作,但是当其他xsds之一发生变化时,我希望自定义工具在文件master.xsd上运行.
有没有办法让一个文件触发另一个自定义工具?
[编辑 - 有关我为什么要使用自定义工具的详细信息]
目前我们有一个GenerateFiles.bat文件,它从命令行调用Xsd2Code来生成模式中的代码(如下面的MattDavey所建议的).这个工作,太慢了.
问题在于,每次构建Xsd2Code都会运行,但是由于很多其他项目都依赖于这个带有模式的项目,所以即使可能没有任何改变,它们也会重新编译.实际结果是,即使对单元测试进行微小改动,也只有一半的项目重新编译.这就是为什么我们一直在寻找自定义工具方法,只有在架构发生变化时才生成代码文件.
我正在使用XSD2CODEVisual Studio 2010.我知道我可以右键单击schema(XSD)文件并从中生成c#类.
我想知道的是,当我有一个XML文件的两个模式文件时,如何生成C#类?
更多信息:
也许我在原始问题中没有提供足够的细节.
引用问题为什么XSD.EXE创建两个.XSD文件,以及如何使用它们?,我基本上是在问同一个问题XSD2CODE而不是XSD.
使用XSD我会使用命令:
D:\>xsd response.xsd response_app1.xsd /classes
如何XSD2CODE在VS 2010 GUI和/或命令行中执行此操作?
我已经下载并安装了Xsd2Code插件。
但是在Visual Studio中,当我右键单击xsd文件时,我看不到“运行Xsd2Code生成”选项。
我为此感到挣扎。
请帮助我。
我在反序列化/序列化某些xsd模式时遇到问题,特别是在其中使用了替换组元素(substitutiongroup).我想要做的是从xsd架构生成C#类,然后处理对象,然后将它们序列化为有效的XML格式.有4个xsd文件,我用xsd2code或xsd.exe反序列化和序列化.这两种工具都会产生类似的不满意结果.它们忽略"substitutiongroup"元素,并且不会正确生成类成员.当我运行xsd.exe或xsd2code时,为BPMNPlane生成的c#类例如不包含成员BPMNShape(但BPMNDiagram类包含BPMNPlane).我试图更改生成的C#类(例如添加成员/属性),但生成的XML输出不正确.我想人们可以用linq-to-xml来掌握它,但它们是太多不同的元素,大约70,具有额外的属性属性.
<xsd:import namespace="http://www.omg.org/spec/DD/20100524/DC" schemaLocation="DC.xsd" />
<xsd:import namespace="http://www.omg.org/spec/DD/20100524/DI" schemaLocation="DI.xsd" />
<xsd:element name="BPMNDiagram" type="bpmndi:BPMNDiagram" />
<xsd:element name="BPMNPlane" type="bpmndi:BPMNPlane" />
<xsd:element name="BPMNLabelStyle" type="bpmndi:BPMNLabelStyle" />
<xsd:element name="BPMNShape" type="bpmndi:BPMNShape" substitutionGroup="di:DiagramElement" />
<xsd:element name="BPMNLabel" type="bpmndi:BPMNLabel" />
<xsd:element name="BPMNEdge" type="bpmndi:BPMNEdge" substitutionGroup="di:DiagramElement" />
<xsd:complexType name="BPMNDiagram">
<xsd:complexContent>
<xsd:extension base="di:Diagram">
<xsd:sequence>
<xsd:element ref="bpmndi:BPMNPlane" />
<xsd:element ref="bpmndi:BPMNLabelStyle" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="BPMNPlane">
<xsd:complexContent>
<xsd:extension base="di:Plane">
<xsd:attribute name="bpmnElement" type="xsd:QName" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="BPMNEdge">
<xsd:complexContent>
<xsd:extension base="di:LabeledEdge">
<xsd:sequence>
<xsd:element ref="bpmndi:BPMNLabel" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="bpmnElement" type="xsd:QName" /> …Run Code Online (Sandbox Code Playgroud) 是否有任何工具或版本的 XSD2Code 或 xsd.exe 可以生成 C# 实体以及 XSD2Code 的注释?
XSD2Code 和 xsd.exe 都忽略注释(对于 XSD2Code,EnableSummaryComment 效果不佳),我不想花时间分析和更改它们背后的源代码...有谁知道是否有完整的注释工作和自由的选择?
xsd2code ×9
xsd ×6
.net ×4
c# ×4
xml ×2
xsd.exe ×2
customtool ×1
data-binding ×1
linq-to-xml ×1
python ×1
xsdobjectgen ×1