xml og arraylist
Hej!Jeg har et spørgsmål omkring XmlSerializer klassen,
Jeg bruger den til at serialisere nogle objekter fra en ArrayListe, det går også fint nok, men de enkelte objekt hedder
<anyType xsi:type="Setting">
hvor jeg gerne bare vil have den til at hedder <Setting> istedet for.
Hvordan kan jeg gøre dette?
Min CS kode er som følgende:
-----------------------------------------------------------
Setting s = new Setting("test", 1, SettingType.Database.ToString(), "test", "test", "test", "test", 1);
Setting ss = new Setting("test2", 2, SettingType.Database.ToString(), "test2", "test2", "test2", "test2", 2);
Setting sss = new Setting("test3", 3, SettingType.File.ToString(), "test3", 3, "test3");
XmlWriter fs = new XmlTextWriter(FilePath, Encoding.Default);
arlListOfSettings.Add(s);
arlListOfSettings.Add(ss);
arlListOfSettings.Add(sss);
XmlRootAttribute xmlroot = new XmlRootAttribute("SettingsList");
XmlAttributeOverrides overrides = new XmlAttributeOverrides();
XmlSerializer xmlseria = new XmlSerializer(typeof(ArrayList), overrides ,new Type[] { typeof(Setting)}, xmlroot, "Mango Administration");
xmlseria.Serialize(fs, arlListOfSettings);
public class Setting
{
private string strName;
private string strValues = "";
private int iRiskLevel = 0;
private int iID = 0;
private Values values = null;
public Setting()
{
values = new Values();
}
Ovenstående er kun et udpluk og en test af XmlSerialiseren.
Min XML fil ser således ud,
<?xml version="1.0" encoding="Windows-1252"?>
<SettingsList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="Mango Administration">
<anyType xsi:type="Setting">
<Name>test</Name>
<ID>1</ID>
<SettingType>Database</SettingType>
<Values>
<Filename />
<Server>test</Server>
<Database>test</Database>
<Username>test</Username>
<Password>test</Password>
<Duringtime />
</Values>
<Risklevel>1</Risklevel>
</anyType>
</SettingsList>
Det er anyType jeg gerne vil af med og benytte "Setting" istedet.