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