2010-07-16 1 views
0

Я следующие XML-элементы: структурасериализация XMLs атрибуты элемента на свойства дочернего объекта

<point X="-1368.087158" Y="-918.482910" Z="156.191040" nX="0.241530" nY="-0.945819" nZ="0.217001"/> 

и следующий объекта:

public class Point 
{ 
    [XmlAttribute("X")] 
    public float X { get; set; } 
    [XmlAttribute("Y")] 
    public float Y { get; set; } 
    [XmlAttribute("Z")] 
    public float Z { get; set; } 
} 


public class Vertex: Point 
{ 
    [Xml...] 
    public Point Normal { get; set; } 
} 

Как я могу сериализовать пЙ/Ny/пЪ?

ответ

0

В прошлом, когда вы нажимали что-то вроде этого, я бы добавил дополнительные свойства, которые будут использоваться только для сериализации. Итак, в вашем случае ваш класс Vertex может выглядеть так:

public class Vertex : Point 
{ 
    [XmlIgnore] 
    public Point Normal { get; set; } 

    [XmlAttribute] 
    public float nX 
    { 
     get { return Normal.X; } 
     set { Normal.X = value; } 
    } 

    //etc 
} 
+0

Спасибо. Значит, вы имеете в виду, что для этого нет лучшего решения? Я просто старался избегать использования такого подхода. – David

+0

Я не знаю другого способа сделать это, это не значит, что не существует. –

Смежные вопросы