[英]XML creates element name from XSD ComplexType, not from Element name
我有一個使用 SVCUTIL.exe 生成到 C# 代碼中的 XSD 模式。 然后我用數據填充生成的代碼並將其作為 WCF 服務中的響應返回。
在生成的 xml 響應中,在我的一個元素中,元素名稱是復雜類型的名稱,而不是 XSD 中的元素名稱。 例子:
<xs:complexType name="ReadSchoolsResponseType">
<xs:sequence>
<xs:element name="Schools" type="SchoolsType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SchoolsType">
<xs:sequence>
<xs:element name="School" type="SchoolType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
生成的 XML 為:
<ReadSchoolsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Schools>
<SchoolType> </SchoolType>
</Schools>
</ReadSchoolsResponse
為什么 School 元素呈現為 SchoolType? 我有很多以相同方式創建的元素,並且可以正確序列化。 謝謝你。
所以我想出了解決方案:刪除 SchoolsType 復雜類型名稱並將元素詳細信息移入。
<xs:complexType name="SchoolsType">
<xs:sequence>
<xs:element name="School" maxOccurs="unbounded"/>
<xs:complexType>
<xs:sequence>
<xs:element name="asdf" type="xs:int"/>
<xs:element name="qwer" type="xs:dateTime"/>
<xs:element name="yxcv" type="xs:string"/>
<xs:element name="tzui" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
但是我仍然不知道為什么有問題的代碼不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.