繁体   English   中英

从序列化XML中删除类型和名称空间

[英]Removing the Type and namespaces from Serialized XML

对于我正在使用的代码,我有类似的东西:

FileStream logStream = new FileStream(@"C:\mytest\mytest.xml", FileMode.Open);
XmlSerializer xmlSerializer = new XmlSerializer(myProvider.GetType());
xmlSerializer.Serialize(logStream, MyProvider);

这将生成如下所示的XML

<ProviderType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" .... 

但是在Fiddler ,看到了SOAP中的XML,我看到了:

<Provider .......

因此它不是Provider ** Type **,并且没有那些名称空间 ...

我应该如何改进代码以生成这样的XML?

public ProviderType Provider
{
    get
    {
        return this.providerField;
    }
    set
    {
        this.providerField = value;
    }
}

如果要让ProviderType类的实例序列化为<Provider> ,则必须这样说:

[XmlRoot(Name="Provider")]
public class ProviderType
{
}

您看到的额外名称空间与任何符合标准的XML实现无关。 在确定名称空间是问题之前,请获取所有其他内容以匹配所需的XML。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM