VAR*_*RAK 5 c# xml xml-serialization xml-deserialization
我有一个如下定义的类:
[XmlRoot("ClassName")]
public class ClassName_0
{
//stuff...
}
Run Code Online (Sandbox Code Playgroud)
然后我创建一个ClassName_0列表,如下所示:
var myListInstance= new List<ClassName_0>();
Run Code Online (Sandbox Code Playgroud)
这是我用来序列化的代码:
var ser = new XmlSerializer(typeof(List<ClassName_0>));
ser.Serialize(aWriterStream, myListInstance);
Run Code Online (Sandbox Code Playgroud)
这是我用来反序列化的代码:
var ser = new XmlSerializer(typeof(List<ClassName_0>));
var wrapper = ser.Deserialize(new StringReader(xml));
Run Code Online (Sandbox Code Playgroud)
如果我将它序列化为xml,则生成的xml如下所示:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfClassName_0 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ClassName_0>
<stuff></stuff>
</ClassName_0>
<ClassName_0>
<stuff></stuff>
</ClassName_0>
</ArrayOfClassName_0>
Run Code Online (Sandbox Code Playgroud)
有没有办法序列化并能够从/向ClassName_0列表反序列化以下内容?
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfClassName xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ClassName>
<stuff></stuff>
</ClassName>
<ClassName>
<stuff></stuff>
</ClassName>
</ArrayOfClassName>
Run Code Online (Sandbox Code Playgroud)
谢谢!