我有一個WCF客戶端需要生成一個包含這個XML片段的請求:如何用屬性生成xsi:nil元素?
<reason xsi:nil="true" nullFlavor="NA" typeCode="RSON" />
的模式是由服務器來決定,而不是我的控制之下。生成的代理代碼具有包含(除其他之外)屬性nullFlavor
和typeCode
的reason元素的類。該代理使用XmlSerializer。
如何生成這樣的片段?僅當相應的成員爲空時,XmlSerializer纔會發出xsi:nil
屬性。如果它是空的,它不能很好地具有將作爲屬性發射的屬性!
順便說一句,該片段是根據XML架構實例規範合法的,該規範說nil元素不能包含任何子元素或內部文本,但可能包含屬性。
這就像一個魅力時,只需序列化/反序列化XML消息,而是嵌入在WCF的請求,這將導致WSDL被視爲無效信息:System.InvalidOperationException:架構項目從命名空間'http://www.w3.org/2001/XMLSchema-instance'命名爲'nil'的'屬性'。屬性聲明的目標名稱空間無論是本地還是全局,都不得與http://www.w3.org/2001/XMLSchema-instance匹配。 – oerkelens 2016-04-15 10:33:18