2016-11-29 5 views
1

was die Modifikation i für den Code zur Verfügung stellen müssen unter xml bringenXML Namespacepräfix in C#

<?xml version="1.0"?> 
<CheckInLoad xmlns="http://fake.com/schemas/insert"   xmlns:cmn="http://fake.com/schemas/common" > 
<Input> 
    <cmn:EmpId>100</cmn:EmpId> 
</Input> 
</CheckInLoad> 

Hier ist die Klasse dfinition

[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://fake.com/schemas/Insert")] 
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "http://fake.com/schemas/Insert", IsNullable = false)] 
    public partial class CheckInLoad 
    { 
     private CheckInLoadHeader headerField; 
     public CheckInLoadHeader Header 
     { 
      get 
      { 
       return this.headerField; 
      } 
      set 
      { 
       this.headerField = value; 
      } 
     } 
    } 

    /// <remarks/> 
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://fake.com/schemas/Insert")] 
    public partial class CheckInLoadHeader 
    { 

     private string empIdField; 


     /// <remarks/> 
     [System.Xml.Serialization.XmlElementAttribute(Namespace = "http://fake.com/schemas/common")] 
     public string EmpId 
     { 
      get 
      { 
       return this.empIdField; 
      } 
      set 
      { 
       this.empIdField = value; 
      } 
     } 

    } 

Bitte lassen Sie mich wissen, was Art der Änderung muss auf Klassenebene erfolgen. bitte nicht, dass ich unter Code verwenden Objekt xml diese

 var stringwriter = new System.IO.StringWriter(); 
     var serializer = new XmlSerializer(load.GetType()); 
     serializer.Serialize(stringwriter, load); 
     return stringwriter.ToString(); 

Antwort

0
XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); 
ns.Add("cmn", "http://fake.com/schemas/common"); 
XmlSerializer serializer = new XmlSerializer(load.GetType()); 
serializer.Serialize(stringwriter, load, ns); 

Versuchen zu konvertieren.

Verwandte Themen