有没有办法让我在.NET中序列化一个对象,而XML Namespaces也不会自动序列化?似乎默认情况下.NET认为应该包含XSI和XSD名称空间,但我不希望它们存在.
我正在使用DataContractSerializer将对象序列化为XML.主要对象是SecurityHolding,命名空间为" http://personaltrading.test.com/ ",包含一个名为Amount的属性,它是一个名为" http://core.test.com "的类.当我将其序列化为XML时,我得到以下内容:
<ArrayOfSecurityHolding xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://personaltrading.test.com/">
<SecurityHolding>
<Amount xmlns:d3p1="http://core.test.com/">
<d3p1:Amount>1.05</d3p1:Amount>
<d3p1:CurrencyCode>USD</d3p1:CurrencyCode>
</Amount>
<BrokerageID>0</BrokerageID>
<BrokerageName i:nil="true" />
<RecordID>3681</RecordID>
</SecurityHolding></ArrayOfSecurityHolding>
Run Code Online (Sandbox Code Playgroud)
反正我可以控制d3p1前缀吗?我做错了什么或者我应该做别的事吗?