gpt4 book ai didi

c# - 将 xml 属性添加到属性

转载 作者:数据小太阳 更新时间:2023-10-29 02:35:49 25 4
gpt4 key购买 nike

我有一些类,狐狸例子

public class Test
{
[XmlElement(IsNullable = true)]
public string SomeProperty{get;set;}
}

当我序列化这个类的对象时,我得到

    <test>
<SomeProperty>value<someproperty>
<test>

但我需要向 SomeProperty 添加属性而不改变类的结构并得到这个

    <test>
<SomeProperty Search="true">value<someproperty>
<test>

我该怎么做?

PS:我知道,我可以编写包含“SomeProperty”和 bool 属性“Search”的对象,但它会改变类的结构

最佳答案

要使用 XmlSerializer 做到这一点,您需要有一个带有 [XmlAttribute][XmlText] 的第二种类型。唯一的其他选择是 IXmlSerializable,即:工作量大且容易出错。

选项:

  • 改变SomeProperty的结构
  • 添加 shim 属性并行 SomeProperty - 并将 SomeProperty 标记为 [XmlIgnore]
  • 使用完全独立的 DTO 模型进行序列化(当序列化不完全适合时,这始终是我的首选)
  • 使用IXmlSerializable(哎哟)
  • 根本不要使用 XmlSerializer(例如,查看 LINQ-to-XML 或 DOM)
  • 使用 XmlSerializer,但之后编辑 xml(例如通过 DOM 或 xslt)

关于c# - 将 xml 属性添加到属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18528782/

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