C# 如何在c.net中创建xml文档作为属性

C# 如何在c.net中创建xml文档作为属性,c#,C#,我想将xml文档设置为属性,用户可以设置xml属性和标记的值,但不能更改xml格式。不允许用户删除或添加该xml中的任何节点 有人能帮我摆脱困境吗?有几种方法。如果xml文档中包含的数据可以转换为可序列化的类,则所有属性的默认构造函数、getter和setter-因为数据无论如何都是xml,所以它可能是可序列化的,您只需按如下方式公开文档: [Serializable] public class MyDocument { [XmlElement(IsNullable = False)]

我想将xml文档设置为属性,用户可以设置xml属性和标记的值,但不能更改xml格式。不允许用户删除或添加该xml中的任何节点


有人能帮我摆脱困境吗?

有几种方法。如果xml文档中包含的数据可以转换为可序列化的类,则所有属性的默认构造函数、getter和setter-因为数据无论如何都是xml,所以它可能是可序列化的,您只需按如下方式公开文档:

[Serializable]
public class MyDocument
{
    [XmlElement(IsNullable = False)]
    public int Property1 { get; set }

    [XmlArray(IsNullable= False)]
    public List<string> Property2 { get; set; }
}
无论哪种方式,您的目标都是对用户隐藏XML文档的灵活性,并使用您编写的访问器类来操作您想要更改的元素


如果文档中有一个xsd,您的任务就更容易了-xsd.exe将允许您从给定的xsd模式自动生成可序列化的C类。

您能澄清一下吗?您是否正在寻找一些可以做到这一点的UI?不,我想为前端开发人员创建一个类库。它们不需要为任何数据库事务创建xml。xml和数据库在我这边,它们只需提供所需的值。
public class MyDocument
{
    private XDocument the_document = null;

    public string Property1
    {
        get
        {
            return this.the_document... //getter DOM manipulation here
        }
        set
        {
           if(value == null)
               throw new ArgumentNullException(nameof(value));

           this.the_document... = value //setter DOM manipulation here
        }
    }
}