2009-12-24 100 views
0

我有关于反序列化的问题。 它的XML文件C#反序列化

<N Name="MyName">Number of MyName</N> 

和类在C#中的一部分:

MyN 
{ 
    [XmlAttribute(AttrName='Name')] 
    public string Name {get;set;} 

    public string Number {get;set} 
} 

我想在XML文件中的N值(在samle - “MYNAME数”)将deserialze在属性MyN类的数量。

谢谢。

回答

5

使用[XMLTEXT()]属性

[XmlRoot(ElementName="N")] 
MyN 
{ 
    [XmlAttribute(AttrName='Name')] 
    public string Name {get;set;} 
    [XmlText()] 
    public string Number {get;set} 
} 

选中此有关XML序列化的详细信息,在C# http://www.dotnetjohn.com/articles.aspx?articleid=173

+0

不要忘记'[XmlRoot(ElementName =“N”)]''M yN'类 – Regent 2009-12-24 10:14:11

+0

谢谢。有用。但是数组序列化存在一些问题。 XmlArrayItem和XmlArray属性可以解决这个问题。 – dekko 2009-12-24 11:37:46

+0

@ Regent:我更新了我的代码! – viky 2009-12-24 12:55:04

3
[XmlRoot(ElementName="N")] 
public class MyN 
{ 
    [XmlAttribute] 
    public string Name { get; set; } 
    public string Number { get; set; } 
} 
+0

这会假设你有' Number of MyName' – Regent 2009-12-24 10:19:25

0
MyN 
{ 
    [XmlAttribute(AttrName='Name')] 
    public string Name {get;set;} 

    [XmlText] 
    public string Number {get;set} 
}