Autor Beitrag
dark-destination1988
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 178
Erhaltene Danke: 21



BeitragVerfasst: Mo 19.03.12 17:02 
Hallo ihrs,

ich habe folgendes Problem.
Ich will eine XML-Datei über deserialisierung auslesen.
Dazu wollte ich diese XML-Form als Klasse nachbauen um sie schließlich zu deserialiseren.
Die XML-Datei (beispielhaft) hat folgendes Format:
ausblenden volle Höhe XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
<Message DtdVersion="2" DtdRelease="3">
    <MessageIdentification v="..."/>
    <MessageVersion v="Test"/>
    <MessageType v="TestTyp"/>
    <ProcessType v="Testprozess"/>
    <ScheduleClassificationType v="Test"/>
    <SenderIdentification v="Test" codingScheme=".."/>
    <SenderRole v="Testsender"/>
    <ReceiverIdentification v="Test" codingScheme=".."/>
    <ReceiverRole v="Testreceiver"/>
    <MessageDateTime v="2012-02-23T10:09:17Z"/>
    <ScheduleTimeInterval v="2012-03-17T23:00Z/2012-03-18T23:00Z"/>
    <ScheduleTimeSeries>
        <SendersTimeSeriesIdentification v="Testserie"/>
        <SendersTimeSeriesVersion v="1"/>
        <BusinessType v=".."/>
        <Product v="Testprodukt"/>
        <ObjectAggregation v=".."/>
        <InArea v="Test" codingScheme=".."/>
        <OutArea v="Test" codingScheme=".."/>
        <InParty v="Test" codingScheme=".."/>
        <OutParty v="Test" codingScheme=".."/>
        <MeasurementUnit v="TESTUNIT"/>
        <Period>
            <TimeInterval v="2012-03-17T23:00Z/2012-03-18T23:00Z"/>
            <Resolution v=".."/>
            <Interval>
                <Pos v="1"/>
                <Qty v="12/>
            </Interval>
            <Interval>
                <Pos v="
2"/>
                <Qty v="
12"/>
            </Interval>
        </Period>
    </ScheduleTimeSeries> 
    <ScheduleTimeSeries>
...

Ist das Format reproduzierbar? Ich scheitere daran, das ich ScheduleTimeSeries nicht mehrfach aufreihen kann (bei der Serialisierung) das heißt ich kann nur ein XML-Attribut mit diesem Namen vergeben.
Das es aber mehrere Series geben soll weiß ich nicht wie ich das Klassentechnisch nachbilden kann.

Kann mir da jemand helfen? Oder gibt es ein Tool was aus XML-Dateien C# Klassen bauen kann`?
Danke für eure Hilfe!
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 19.03.12 17:22 
Zum Framework gehört die xsd.exe. Mit der kannst du für dein XML ein XSD Schema erzeugen und daraus wiederum Klassen. Ob das dann genau passt ist aber fraglich. Insbesondere am XML -> XSD Teil ist ja eine gehörige Portion raten beteiligt. Da mußt du im Zweifel zumindestens nochmal Hand ans erzeugte Schema anlegen.