Hallo zusammen,
ich habe ein kleines Problem mit dem Auslesen einer xml Datei und stehe irgendwie auf dem Schlauch.
Das ist meine kleine xml Datei.
Ich habe nun eine eigene Parse Funktion geschrieben, die mir die xml Daten in eigene Klassenobjekte schreibt.
Problem ist nun, dass bei Tätigkeiten und Mitarbeiter immer alle Eigenschaften in meine Liste geschrieben wird.
Ich möchte aber dass zu dem Projekt PJ201302001 auch nur die Mitarbeiter in der Liste stehen die in dem Projektknoten mit der ProjektNr PJ201302001 enthalten sind.
Bei dem PJ201302002 natürlich die die da drin sind.
Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht mehr![:(](https://www.vb-paradise.de/wcf/images/smilies/sad.png)
Vielen Dank für die Hilfe.
ich habe ein kleines Problem mit dem Auslesen einer xml Datei und stehe irgendwie auf dem Schlauch.
Das ist meine kleine xml Datei.
XML-Quellcode
- <?xml version="1.0" encoding="iso-8859-15"?>
- <Projekte>
- <xmlfilename>Projekte.xml</xmlfilename>
- <Projekt>
- <ProjektNr>PJ201302001</ProjektNr>
- <Thema>Online</Thema>
- <Mitarbeiter>
- <Eintrag MANummer="01">Herr Müller</Eintrag>
- <Eintrag MANummer="02">Herr Meier</Eintrag>
- </Mitarbeiter>
- <Taetigkeiten>
- <Eintrag kstart="01">Consulting</Eintrag>
- <Eintrag kstart="02">Vertrieb</Eintrag>
- <Eintrag kstart="CO">Consulting Prio</Eintrag>
- </Taetigkeiten>
- </Projekt>
- <Projekt>
- <ProjektNr>PJ201302002</ProjektNr>
- <Thema>CRMSol Offline</Thema>
- <Mitarbeiter>
- <Eintrag MANummer="01">Herr Müller</Eintrag>
- <Eintrag MANummer="02">Herr Meier</Eintrag>
- <Eintrag MANummer="03">Frau Müller</Eintrag>
- </Mitarbeiter>
- <Taetigkeiten>
- <Eintrag kstart="01">Consulting</Eintrag>
- <Eintrag kstart="02">Vertrieb</Eintrag>
- <Eintrag kstart="CO">Consulting Prio</Eintrag>
- </Taetigkeiten>
- </Projekt>
- </Projekte>
Ich habe nun eine eigene Parse Funktion geschrieben, die mir die xml Daten in eigene Klassenobjekte schreibt.
VB.NET-Quellcode
- Public Class xmlWorkProjekte
- Private Const bereich As String = "Projekte"
- Public Shared Function Parse(doc As XDocument) As Projekte
- Dim pj As New Projekte
- pj.xmlfilename = doc.<Projekte>.<xmlfilename>.Value
- pj.Projekt = (From x In doc.<Projekte>.Elements
- Select New Projekt With {.Adresse = x.<Adresse>.Value,
- .Kto = x.<Kto>.Value,
- .Mandant = x.<Mandant>.Value,
- .ProjektNr = x.<ProjektNr>.Value,
- .Empfangen = x.<ProjektNr>.Value,
- .Gesendet = x.<ProjektNr>.Value,
- .Thema = x.<Thema>.Value,
- .Taetigkeiten = (From y In doc.<Projekte>.<Projekt>.<Taetigkeiten>.Elements
- Select New Taetigkeit With {.kstart = y.Attributes.First.Value,
- .Value = y.Value}).ToList,
- .Mitarbeiter = (From z In doc.<Projekte>.<Projekt>.<Mitarbeiter>.Elements
- Select New Mitarbeiter With {.MANummer = z.Attributes.First.Value,
- .Value = z.Value}).ToList}).ToList
- Return pj
- End FunctionEnd Class
Problem ist nun, dass bei Tätigkeiten und Mitarbeiter immer alle Eigenschaften in meine Liste geschrieben wird.
Ich möchte aber dass zu dem Projekt PJ201302001 auch nur die Mitarbeiter in der Liste stehen die in dem Projektknoten mit der ProjektNr PJ201302001 enthalten sind.
Bei dem PJ201302002 natürlich die die da drin sind.
Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht mehr
![:(](https://www.vb-paradise.de/wcf/images/smilies/sad.png)
Vielen Dank für die Hilfe.