如何删除 XmlSerializer 插入的 xmlns 声明?
我有这种类型:
[Serializable, DataContract]
public class A
{
[DataMember(Order = 1)]
public int P1 { get; set; }
[DataMember(Order = 2)]
public XmlSerializableDictionary<string, string> P2 { get; set; }
}
其中 XmlSerializedDictionary
是从 .NET XML 序列化陷阱借用的?< /a>.
XmlSerializer
生成以下 XML:
<?xml version="1.0"?>
<A xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<P1>17</P1>
<P2>
<item>
<key>
<string>Hello World!</string>
</key>
<value>
<string>xo-xo</string>
</value>
</item>
<item>
<key>
<string>Good Bye!</string>
</key>
<value>
<string>xi-xi</string>
</value>
</item>
</P2>
</A>
我唯一希望删除的是根元素上的 xmlns 声明。我该怎么做?谢谢。
I have this type:
[Serializable, DataContract]
public class A
{
[DataMember(Order = 1)]
public int P1 { get; set; }
[DataMember(Order = 2)]
public XmlSerializableDictionary<string, string> P2 { get; set; }
}
Where XmlSerializableDictionary
is borrowed from .NET XML serialization gotchas?.
The XmlSerializer
produces the following XML:
<?xml version="1.0"?>
<A xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<P1>17</P1>
<P2>
<item>
<key>
<string>Hello World!</string>
</key>
<value>
<string>xo-xo</string>
</value>
</item>
<item>
<key>
<string>Good Bye!</string>
</key>
<value>
<string>xi-xi</string>
</value>
</item>
</P2>
</A>
The only things that I wish to get rid of are the xmlns declarations on the root element. How do I do it? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过 XmlSerializerNamespaces:
Via
XmlSerializerNamespaces
: