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> 节点
请问类型该如何定义才能序列化成想要的
...全文
501 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
 [XmlArrayItem("vaule")]
//替换为
 [XmlElement("vaule")]

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧