मैं वस्तुओं List<TestObject>
की सूची serializing कर रहा हूँ की सूची serializing के बाद उत्पन्न नाम बदलने के लिए, और XmlSerializer उत्पन्न <ArrayOfTestObject>
विशेषता है, मैं यह नाम बदलने या इसे हटाने चाहते हैं।
क्या यह नई कक्षा बनाने के साथ किया जा सकता है जो क्षेत्र के रूप में सूची को समाहित करता है?कैसे <ArrayOf> XML विशेषता है कि वस्तुओं
[XmlRoot("myOuterElement")]
public class MyOuterMessage {
[XmlElement("item")]
public List<TestObject> Items {get;set;}
}
और क्रमानुसार कि (अर्थात किसी अन्य वस्तु में अपनी सूची में डाल दिया):
[XmlRoot("Container")]
public class TestObject
{
public TestObject() { }
public string Str { get; set; }
}
List<TestObject> tmpList = new List<TestObject>();
TestObject TestObj = new TestObject();
TestObj.Str = "Test";
TestObject TestObj2 = new TestObject();
TestObj2.Str = "xcvxc";
tmpList.Add(TestObj);
tmpList.Add(TestObj2);
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.Indent = true;
XmlSerializer serializer = new XmlSerializer(typeof(List<TestObject>));
using (XmlWriter writer = XmlWriter.Create(@"C:\test.xml", settings))
{
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add(string.Empty, string.Empty);
serializer.Serialize(writer, tmpList, namespaces);
}
<ArrayOfTestObject>
<TestObject>
<Str>Test</Str>
</TestObject>
<TestObject>
<Str>xcvxc</Str>
</TestObject>
</ArrayOfTestObject>
अद्यतन पुनः टिप्पणी –