C# Xml序列化内联元素

3
有没有一种方法可以强制XML序列化程序将元素作为内联而不是值布局添加。我基本上只有一个巨大的结构体列表,我想为每个启用的子元素添加一个内联元素。
<main>
<item>
  <value>1</value>
  <name>Alphabet</name>
</item>
...
</main>

我基本上想要添加:
<item Enabled="true">

如果元素块被启用,有没有一种方法来实现这个功能?

2个回答

2

谢谢。正是我想要的! - Liz

1

XmlAttributeAttribute

XmlAttributeAttribute属性允许您指定一个成员应该被序列化为一个属性,以及该属性应该被命名为什么。只有简单的数据可以用作属性,因为属性只能表示单个值。

using System;
using System.Xml.Serialization;

namespace XmlEntities {
    [XmlRoot("XmlDocRoot")]
    public class RootClass {
        private int attribute_id;

        [XmlAttribute("id")]
        public int Id {
            get { return attribute_id; }
            set { attribute_id = value; }
        }
    }
}

这将序列化为类似于以下内容的东西... 折叠

<XmlDocRoot id="1" />

更多信息请查看SO上的答案:如何为C# XML序列化添加属性


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接