2010-07-22 55 views

回答

4

ArsenMkrt汤姆序列化机制是在正确的轨道上,但缺少元素的内容,我建议修订版:

class BarId 
{ 
    [XmlText()] 
    public int Content {get; set;} 

    [XmlAttribute()] 
    public string BarString {get; set;} 
} 

public class Foo{ 
    public BarId BarId {get; set;} 
} 

这样你得到的内容作为一个整数。

0

您应该创建有BarString的BarId类

class BarId 
{ 
    [XmlAttribute] 
    public string BarString{get;set;} 
} 

public class Foo{ 
public BarId BarId{get;set;} 
} 

或者您可以使用Cus像here

+0

你如何让BarId表现为一个int虽然? – 2010-07-22 13:58:28

+0

你不知道。看起来你需要编程序列化,而不是基于属性。 – 2010-07-22 13:59:36

+0

我喜欢在可能的情况下坚持使用内置类。但是,自定义序列化器覆盖不会像第一次出现那样令人畏惧。我在生产代码中使用了很多地方。它们允许很大的灵活性,特别是在匹配外部或传统Xml时。即使您对XmlSerializer感到满意,仍然值得检查覆盖。 – TechNeilogy 2010-07-22 14:23:58

相关问题