c# - 从类生成 XML

标签 c# xml xml-serialization

我想从类中构建以下 XML 节点。

<Foo id="bar">some value</Foo>

我的类应该如何定义?

class Foo
{
   public string Value {set;get;}
   public string id{set;get;}
}

我相信我应该为这些属性添加一些 XML 属性,但不确定它们是什么。

最佳答案

查看 System.Xml.Serialization 命名空间下的属性。在您的情况下,该类应类似于下面的代码。

public class StackOverflow_8281703
{
    [XmlType(Namespace = "")]
    public class Foo
    {
        [XmlText]
        public string Value { set; get; }
        [XmlAttribute]
        public string id { set; get; }
    }
    public static void Test()
    {
        MemoryStream ms = new MemoryStream();
        XmlSerializer xs = new XmlSerializer(typeof(Foo));
        Foo foo = new Foo { id = "bar", Value = "some value" };
        xs.Serialize(ms, foo);
        Console.WriteLine(Encoding.UTF8.GetString(ms.ToArray()));
    }
}

更新:添加了序列化类型的代码。

关于c# - 从类生成 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8281703/

相关文章:

php - 为一个元素创建多个属性

c# - 使用 XML 命名空间在 C# 中针对模式创建和验证 XML

c# - 打开空数据表时 XmlTextReader 中是否存在错误?

c# - 如何绑定(bind)到 wpf 中另一个对象的属性?

c# - 如何从 ASP.NET Core 中的 IMemoryCache 中删除(重置)所有对象

java - 格式不正确 - XML 到 Json 的转换

类对象的 C++ vector 文件\回到程序

java - 例如,当编码为 XML 时,我可以强制 JAXB 不将“转换为”吗?

C# 索引超出范围 String Array 和 List<string>

c# - 在 C# 中创建日志