C# 序列化不带类型标记的类型
我是否有可能序列化一个对象而不需要添加它的实际根标记呢。这听起来有点奇怪,所以我附加了一些代码来解释我的意思:C# 序列化不带类型标记的类型,c#,xml-serialization,C#,Xml Serialization,我是否有可能序列化一个对象而不需要添加它的实际根标记呢。这听起来有点奇怪,所以我附加了一些代码来解释我的意思: class Test { public MyClass M; } class MyClass { public int A; public int B; } 成员A和B现在不应序列化为M,而应序列化为根类Test,如下所示: <Test> <A>3</A> <B>4</B> </Tes
class Test {
public MyClass M;
}
class MyClass {
public int A;
public int B;
}
成员A和B现在不应序列化为M,而应序列化为根类Test
,如下所示:
<Test>
<A>3</A>
<B>4</B>
</Test>
3.
4.
我需要这样做,因为我有许多空的伪类,它们只是从基类派生而来,但在我希望避免内部伪类型序列化的地方,根本不添加任何成员。这可能吗?我认为使用XmlSerializer类不可能做到这一点。但您始终可以使用XmlReader和XmlWriter手动序列化和反序列化数据。
XmlSerializer
默认情况下不支持此行为。该类可以实现IXmlSerializable
或从XDocument
创建文档
见:
产出:
<Test>
<A>1</A>
<B>2</B>
</Test>
1.
2.
不确定你在问什么,但你的类和xml会序列化。我知道它会序列化,但不是我想要的方式。目前它将序列化为34,但我想将数据从MyClass推送到测试
<Test>
<A>1</A>
<B>2</B>
</Test>