C# List序列化XML的问题
五彩猫熊 2019-06-17 11:04:44 定义如下类
[XmlRoot("funderService")]
public class Request_gl
{
public Request_gl()
{
ParamList = new List<string>();
}
[XmlAttribute]
public string functionName { get; set; }
[XmlArrayItem("vaule")]
public List<string> ParamList { get; set; }
public string beanToXml()
{
//准备序化列对象
var format = new XmlSerializer(typeof(Request_gl));
var stringBuilder = new StringBuilder();
//设置序序化XML格式
XmlWriterSettings xws = new XmlWriterSettings();
xws.Indent = true;
xws.OmitXmlDeclaration = true;
xws.Encoding = Encoding.UTF8;
XmlWriter xmlWriter = XmlTextWriter.Create(stringBuilder, xws);
//去掉要结点的 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 属性
XmlSerializerNamespaces _namespaces = new XmlSerializerNamespaces(
new XmlQualifiedName[] {
new XmlQualifiedName(string.Empty, string.Empty)
});
xmlWriter.WriteStartDocument(true);
format.Serialize(xmlWriter, this, _namespaces);
return stringBuilder.ToString();
}
}
需要序列化成的XML格式如下
<funderService functionName='2023'>
<value>1</value>
<value>2</value>
<value>3</value>
</funderService >
可实际序列化出来是这样子的
<funderService functionName="2023">
<ParamList>
<vaule>1</vaule>
<vaule>2</vaule>
<vaule>3</vaule>
<vaule>4</vaule>
</ParamList>
</funderService>
多了 <ParamList> 节点
请问类型该如何定义才能序列化成想要的