对于我正在使用的代码,我有类似的东西:
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 .......
所以它不是提供者**类型**而且它没有那些命名空间 ......
我应该如何改进代码以生成类似的XML?
public ProviderType Provider
{
get
{
return this.providerField;
}
set
{
this.providerField = value;
}
}
答案 0 :(得分:1)
如果您希望ProviderType
类的实例序列化为<Provider>
,那么您必须这样说:
[XmlRoot(Name="Provider")]
public class ProviderType
{
}
您看到的额外命名空间与任何符合XML的实现无关。在确定命名空间是问题之前,获取其他所有内容以匹配您所需的XML。