Autor Beitrag
sdc4
Hält's aus hier
Beiträge: 2

Win7, Linux
C#, VS2010 Prof.
BeitragVerfasst: Do 03.05.12 15:44 
Hallo Forum,

kennt hier jemand eine Möglichkeit, die einzelnen Objekte, welche als XmlArray serialisiert werden sollen
und ihrerseits Objekte eine Klasse sind, ordentlich über zu benennen, hier ein Codeauszug.

Die Klasse "Script" soll als "script" in der XML-Datei erscheinen, leider kenne ich keinen Weg dies zu realisieren.

Danke für Eure Hilfe.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
        [XmlArray("scripts")]
        public List<Script> Scripts
        {
            get { return _Scripts; }
            set { _Scripts = value; }
        }


    public class Script
    {
        [XmlAttribute]
        public string Exclude { get; set; }
        
        [XmlAttribute]
        public bool IgnoreCase { get; set; }
        
        [XmlAttribute]
        public bool IgnoreScript { get; set; }
        
        [XmlText]
        public string Value { get; set; }
    }


Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 03.05.12 16:12 
Hallo und :welcome:

meinst du einfach
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
[XmlRoot(ElementName = "script")]
public class Script
{
  // ...
}

?


Zuletzt bearbeitet von Th69 am Do 03.05.12 16:24, insgesamt 2-mal bearbeitet
sdc4 Threadstarter
Hält's aus hier
Beiträge: 2

Win7, Linux
C#, VS2010 Prof.
BeitragVerfasst: Do 03.05.12 16:22 
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
Hallo und :welcome:

meinst du einfach
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
[XmlRoot(ElementName = "script")]
public class Script
{
  // ...
}

?


Hallo,

danke für die schnelle Antwort.

Leider funktioniert es so nicht, das die Klasse "Script" nicht das Rootelement ist,
sie ist nur das "listenelement" für public List<Script> Scripts, welches als [XmlArray("scripts")] definiert wurde.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 03.05.12 16:27 
Hallo,

sorry, wollte gerade noch meinen Beitrag editieren - da hast du schon gepostet.

Hier nun die hoffentlich richtige Antwort:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
[XmlArray("scripts")]
[XmlArrayItem("script")]
public List<Script> Scripts
{
  // ...
}


Ansonsten kannst du unter Steuern der XML-Serialisierung mit Attributen mehr dazu nachlesen.

Für diesen Beitrag haben gedankt: sdc4