1
я имею два класса A и B. А для ROOT-элемент и B должен быть массив B.XML-сериализации массив класса
public class A
{
public B[] b;
}
public class B
{
public string param1;
public string param2;
}
Создание экземпляров и заполнить данные выглядеть следующим образом :
A test = new A();
test.b = new B[2];
test.b[0] = new B();
test.b[1] = new B();
test.b[0].param1 = "b0-p1";
test.b[0].param2 = "b0-p2";
test.b[1].param1 = "b1-p1";
test.b[1].param2 = "b1-p2";
Теперь сериализации:
System.Xml.Serialization.XmlSerializer ser = new System.Xml.Serialization.XmlSerializer(typeof(A));
System.IO.TextWriter wr = new System.IO.StreamWriter(@"c:\ser.xml");
ser.Serialize(wr, test);
wr.Close();
Сгенерированный XML выглядеть следующим образом
<?xml version="1.0" encoding="utf-8"?>
<A xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org /2001/XMLSchema">
<b>
<B>
<param1>b0-p1</param1>
<param2>b0-p2</param2>
</B>
<B>
<param1>b1-p1</param1>
<param2>b1-p2</param2>
</B>
</b>
</A>
Но я хочу, чтобы это:
<?xml version="1.0" encoding="utf-8"?>
<A xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org /2001/XMLSchema">
<b>
<param1>b0-p1</param1>
<param2>b0-p2</param2>
</b>
<b>
<param1>b1-p1</param1>
<param2>b1-p2</param2>
</b>
</A>
Можете ли вы сказать мне, что я делаю неправильно?
рассматривает raiserle
Thx, я опробовал его с неправильным атрибутом: 'System.Xml.Serialization.XmlArray ("Ъ")' и ' System.Xml.Serialization.XmlArrayItem ("Ъ")' Thx, thx .. thx – raiserle