微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

XML序列化命名空间(C#)

我需要生成这样的东西:

<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
<Header>
...
</Header>
</AmazonEnvelope>

我正在尝试这样的东西,但它并不完全正确:

XmlSerializerNamespaces nms = new XmlSerializerNamespaces();
        nms.Add("xsi","http://www.w3.org/2001/XMLSchema-instance");
        nms.Add("noNamespaceSchemaLocation","amzn-envelope.xsd");



        XmlSerializer serializer = new XmlSerializer(typeof(XMLAmazonEnvelope));
        StreamWriter writer = new StreamWriter(path);

        serializer.Serialize(writer,objectToSave,nms);
        writer.Close();

结果是:

<?xml version="1.0" encoding="utf-8"?>
<xsi:AmazonEnvelope xmlns:noNamespaceSchemaLocation="amzn-envelope.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsi:Header>
...
</xsi:Header>
</xsi:AmazonEnvelope>

这不是我想要的.
任何想法,应该采取哪些不同的做法?

解决方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。