代码之家  ›  专栏  ›  技术社区  ›  Bernhard Hofmann

为什么生成的某些C#类属性与XSD属性不匹配?

  •  2
  • Bernhard Hofmann  · 技术社区  · 15 年前

    download the XSD file from here .

    我在Visual Studio命令提示符中使用以下命令创建C#类:

    xsd FS_OTA_VehLocDetailsNotifRQ.xsd /classes /nologo
    

    OTA_VehLocDetailsNotifRQ.POS[0].RequestorID ID 财产。然而,XSD.exe工具生成的属性名为 ID_Context .

    )物业名称?

    接受答案后进一步编辑:

    更仔细地查看XSD并用其属性组定义替换引用,可以在其属性组中看到ID属性:

    <xs:attributeGroup name="UniqueID_Group">
      <xs:attribute name="URL" type="xs:anyURI" />
      <xs:attribute name="Type" type="OTA_CodeType" use="required" />
      <xs:attribute name="Instance" type="StringLength1to32" />
      <xs:attributeGroup name="ID_Group">
        <xs:attribute name="ID" type="StringLength1to32" use="required" />
      </xs:attributeGroup>
      <xs:attribute name="ID_Context" type="StringLength1to32" use="optional" />
    </xs:attributeGroup>
    

    我认为这是XSD工具中的一个bug。

    2 回复  |  直到 15 年前
        1
  •  2
  •   marc_s HarisH Sharma    15 年前

    让我看看。。。。

    • 这个 RequestorID UniqueID_Type
    • 唯一型 UniqueID_Group
    • 唯一群 是一个属性组,包含以下属性:
      • URL
      • Type
      • Instance
      • ID_Group
      • ID_Context

    我猜C代码“ID#u Context”是因为该属性组中的“ID#u Context”属性而生成的。。。我看不出有什么问题。

    但我同意这一点 ID_组 应该包含一个“ID”属性,但xsd.exe似乎已经删除了对

    也可以查看以下讨论:

    http://groups.google.com/group/OTA-Impl-Forum/browse_thread/thread/fa476cfb6e1fa7f7

    更新:我也试过了 svcutil.exe

    错误:类型“DateOrTimeOrDateTimeType” 在命名空间中 ' http://www.opentravel.org/OTA/2003/05 ' 带有** <union> 或者更改模式,使 或使用importxmltype或使用