gpt4 book ai didi

c# - 序列化 C# 属性时添加父节点

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:02 24 4
gpt4 key购买 nike

我想将以下类序列化为 xml:

public class Survey
{
[XmlElement("edit")]
public string EditLink { get; set; }
}

正如预期的那样,这序列化为(删除了对问题不重要的额外内容)

<Survey><edit>http://example.com/editlink</edit></Survey>

但是,我想在编辑节点前加上一个父节点,这样生成的 xml 是:

<Survey><links><edit>http://example.com/editlink</edit></links></Survey>

有没有办法只使用序列化属性而不修改类的结构?

最佳答案

你不能用那个结构。如果您将 EditLink 公开为一个集合,那么您可以:

public class Survey
{
[XmlArray("links")]
[XmlArrayItem("edit")]
public string[] edit
{
get
{
return new [] {EditLink};
}
set
{
EditLink = value[0];
}
}

[XmlIgnore]
public string EditLink { get; set; }
}

产生:

<Survey>
<links>
<edit>http://example.com/editlink</edit>
</links>
</Survey>

关于c# - 序列化 C# 属性时添加父节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22673879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com