Tag: xsd.exe

为什么xsd.exe为xs:integer生成字符串属性?

当我使用xsd.exe从xsd模式生成ac#类时,我觉得这个行为有点奇怪。 我的元素: 生成为: [System.Xml.Serialization.XmlElementAttribute(DataType=”integer”, Order=5)] public string InvoiceNo { … } 为什么该属性不是作为int而不是字符串生成的?

生成C#代码时,XSD工具将“Specified”附加到某些属性/字段

我对XSD生成器有一种奇怪的行为我无法解释。 我有一个像这样的XSD: Some Doc … … … … 它源自CoreObject: … 这只是XSD的一小部分,有很多更复杂的类型。 因此,当我生成类似于此的类时,我得到一个生成的类,它有两个属性(除了我期望的5): public bool MinDuration_100msSpecified 和 public bool StageOnDemandSpecified 所以对于“原始”属性,附加了“Specified”,类型现在是bool。 任何人都可以解释为什么会这样吗?

xmlserializervalidation

我正在使用XmlSerializer来反序列化Xml achives。 但我发现生成的类xsd.exe只提供读取xml的function,但没有validation。 例如,如果文档中缺少一个节点,则生成的类的属性字段将为null,而不是像我预期的那样抛出validationexception。 我怎样才能做到这一点? 谢谢!

XSD.exe和“循环组引用”

我正在尝试构建一些类,以便我可以反序列化由第三方应用程序创建的XML文件。 幸运的是,第三方应用程序的开发人员包含一个包含其代码的模式文件,以便可以理解XML文件。 当我使用Visual Studio中的XSD.exe工具时,该过程无法报告以下错误 “来自targetNamespace =”的组’SegGroupOrSegmentGrouping’具有无效定义:循环组引用。” 任何有关如何根据此错误生成类文件的帮助将不胜感激。 可以在此处找到模式文件的副本: 模式文件

XmlSerialization和xsi:SchemaLocation(xsd.exe)

我使用xsd.exe生成一个C#类来读/写GPX文件。 如何获得生成的XML文件以包含xsi:schemaLocation属性,例如。 我想要以下但xsi:schemaLocation总是丢失