使用Visual Studio 2010从xsd文件生成.NET 4.0 c#类(实体)有哪些选项?
在办公室,我们正在编写一个应用程序,它将根据我们给出的模式生成XML文件.我们在.XSD文件中有架构.
是否有可用于自动化测试的工具或库来检查生成的XML是否与模式匹配?
我们更喜欢适合商业用途的免费工具,尽管我们不会捆绑架构检查器,因此开发期间只需要开发人员可以使用它.
我们的开发语言是C++,如果这有什么不同,虽然我不认为它应该生成xml文件然后通过在测试中调用单独的程序来进行验证.
我正在生成一些需要符合给我的xsd文件的xml文件.什么是验证它们符合要求的最佳方法?
在工作中,我们被要求创建XML文件以将数据传递给另一个离线应用程序,然后创建第二个XML文件以传回以更新我们的一些数据.在此过程中,我们一直在与其他应用程序的团队讨论XML文件的结构.
我提出的样本基本上是这样的:
<INVENTORY>
<ITEM serialNumber="something" location="something" barcode="something">
<TYPE modelNumber="something" vendor="something"/>
</ITEM>
</INVENTORY>
Run Code Online (Sandbox Code Playgroud)
另一个团队表示,这不是行业标准,属性应仅用于元数据.他们建议:
<INVENTORY>
<ITEM>
<SERIALNUMBER>something</SERIALNUMBER>
<LOCATION>something</LOCATION>
<BARCODE>something</BARCODE>
<TYPE>
<MODELNUMBER>something</MODELNUMBER>
<VENDOR>something</VENDOR>
</TYPE>
</ITEM>
</INVENTORY>
Run Code Online (Sandbox Code Playgroud)
我建议第一个的原因是创建的文件的大小要小得多.在转移过程中,文件中将有大约80000个项目.实际上他们的建议比我建议的大三倍.我搜索了上面提到的神秘的"行业标准",但我能找到的最接近的是XML属性应该只用于元数据,但是辩论是关于什么是实际的元数据.
经过长时间的解释(对不起),您如何确定什么是元数据,在设计XML文档的结构时,您应该如何决定何时使用属性或元素?
我想知道XML Schema规范如何处理这些情况:
<xsd:element minOccurs="1" name="asdf"/>
Run Code Online (Sandbox Code Playgroud)
没有给出maxOccurs - >这是基数[1..1]吗?
<xsd:element minOccurs="5" maxOccurs="2" name="asdf"/>
Run Code Online (Sandbox Code Playgroud)
我想这简直无效了?
<xsd:element maxOccurs="2" name="asdf"/>
Run Code Online (Sandbox Code Playgroud)
这是基数[0..2]还是[1..2]?
是否有关于XML Schema规范如何处理这些情况的"官方"定义?
xsd:include和之间有什么区别xsd:import?你何时会使用一个而不是另一个,什么时候可能没关系?
我们正在开发一个涉及大量XML转换的应用程序.我们本身没有任何适当的输入测试数据,只有DTD或XSD文件.我们想从这些文件中自己生成测试数据.有一种简单/自由的方式吗?
编辑
显然没有免费的工具,我同意OxygenXML是最好的工具之一.
XML Schema和之间有什么区别WSDL?
我注意到的差异是WSDL包含XSD和WSDL我们可以声明操作,但不是XSD.那是对的吗?
我有一个带有指定架构位置的XML文件,例如:
xsi:schemaLocation="someurl ..\localSchemaPath.xsd"
Run Code Online (Sandbox Code Playgroud)
我想在C#中验证.Visual Studio,当我打开文件时,根据模式验证它并完美地列出错误.不知何故,我似乎无法在C#中自动验证它,而没有像这样指定要验证的模式:
XmlDocument asset = new XmlDocument();
XmlTextReader schemaReader = new XmlTextReader("relativeSchemaPath");
XmlSchema schema = XmlSchema.Read(schemaReader, SchemaValidationHandler);
asset.Schemas.Add(schema);
asset.Load(filename);
asset.Validate(DocumentValidationHandler);
Run Code Online (Sandbox Code Playgroud)
我不应该能够自动验证XML文件中指定的模式吗?我错过了什么?