gpt4 book ai didi

xml - 需要属性但也允许 nil 的 XSD

转载 作者:行者123 更新时间:2023-12-05 07:50:40 30 4
gpt4 key购买 nike

我有一个 XML 架构,其中某些标记必须具有 id属性。我可以使用 use="required" 使它正常工作

<xs:element name="SiteDiscoveryReleaseReportReceived">
<xs:complexType>
<xs:all>
<xs:element name="ReceivedDate" type="xs:date" nillable="true" />
<xs:element name="StaffLead" type="xs:int" nillable="true" />
<xs:element name="Status" nillable="true">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:int" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>

我也想让标签可以为空,但是上面的 XSD 不允许我做 <Status xs:nil="true"/>因为id缺少属性。我怎样才能制作 id需要属性如果标签不为零?或者没有 id nil 标签上的属性会导致 xpath 查询出现逻辑问题吗?

如果重要的话,这是针对 SQL Server 中的 XML 列。

最佳答案

我认为你有两个选择:

  1. 更好的方法:将 nillable 属性替换为 minOccurs=0。这条路serializer leaves如果 Status 元素的值为 null,则完全退出。

  2. 制作id属性nillable as well .尽管如此,属性仍然强制存在。

旁注:您可能在反序列化 ReceivedDateStaffLead 元素时遇到问题,因为“XmlSerializer 在尝试反序列化不可为 null 的实例时抛出异常值类型,如果 nil 属性设置为 true 1 ”并且 intDateTime 类型不可为 null。

关于xml - 需要属性但也允许 nil 的 XSD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35923172/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com