Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net DataContractSerializerSettings类示例_.net_Xml_Wcf_Xml Namespaces_Datacontractserializer - Fatal编程技术网

.net DataContractSerializerSettings类示例

.net DataContractSerializerSettings类示例,.net,xml,wcf,xml-namespaces,datacontractserializer,.net,Xml,Wcf,Xml Namespaces,Datacontractserializer,我正在寻找如何使用DataContractSerializerSettings类的示例。这里有两个我感兴趣的特性 根名 根命名空间 我可以在代码中使用它们来设置输出xml中的名称空间吗?如果您正在创建DataContractSerializer,则是。您可以创建一个DataContractSerializerSettings对象,并使用XmlDictionary创建XmlDictionaryString来设置RootName和/或RootNamespace。下面是一个例子: var settin

我正在寻找如何使用DataContractSerializerSettings类的示例。这里有两个我感兴趣的特性

  • 根名
  • 根命名空间

  • 我可以在代码中使用它们来设置输出xml中的名称空间吗?

    如果您正在创建
    DataContractSerializer
    ,则是。您可以创建一个
    DataContractSerializerSettings
    对象,并使用
    XmlDictionary
    创建
    XmlDictionaryString
    来设置
    RootName
    和/或
    RootNamespace
    。下面是一个例子:

    var settings = new DataContractSerializerSettings();
    var xmlDictionary = new XmlDictionary();
    settings.RootName = xmlDictionary.Add("MyRootName");
    settings.RootNamespace = xmlDictionary.Add("MyNamespace");
    var serializer = new DataContractSerializer(typeof(MyClass), settings);
    
    序列化XML中根元素的名称将为“MyRootName”,xmlns属性将为“MyNamespace”,例如:

    <MyRootName xmlns:d1p1="MyDefaultNamespace" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="MyNamespace">
    

    如果您正在创建
    DataContractSerializer
    ,则是。您可以创建一个
    DataContractSerializerSettings
    对象,并使用
    XmlDictionary
    创建
    XmlDictionaryString
    来设置
    RootName
    和/或
    RootNamespace
    。下面是一个例子:

    var settings = new DataContractSerializerSettings();
    var xmlDictionary = new XmlDictionary();
    settings.RootName = xmlDictionary.Add("MyRootName");
    settings.RootNamespace = xmlDictionary.Add("MyNamespace");
    var serializer = new DataContractSerializer(typeof(MyClass), settings);
    
    序列化XML中根元素的名称将为“MyRootName”,xmlns属性将为“MyNamespace”,例如:

    <MyRootName xmlns:d1p1="MyDefaultNamespace" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="MyNamespace">
    

    我没有看到将
    [DataContract(Namespace=“…””)
    添加到我的类中会改变
    d1p1
    名称空间前缀-我看到它的作用相当于上面的
    设置。RootNamespace
    行;它改变了前缀的
    ;它更改该前缀的
    值。