Autor Beitrag
basner
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Mi 17.06.09 15:36 
Hallo vielleicht könnt ihr mir noch einmal helfen.

Ich habe folgendes Problem:

Ich habe innerhalb einer XML Datei folgende Struktur
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
- <Articles>
- <Article id="ArtikelNummer" name="Name des Artikels" price="Preis des Artikels" configLines="2">
- <ClientGroups>
  <ClientGroup templateID="1" /> 
  </ClientGroups>
- <Features>
  <FeatureValue templateID="ein Wert" deliveryTypeID="STD" value="0" /> 
  <FeatureValue templateID="Wert2" deliveryTypeID="STD" includeInOrder="false" value="0.08" /> 
  <FeatureValue templateID="Wert3" deliveryTypeID="STD" value="0" /> 
  <FeatureValue templateID="Wert4" deliveryTypeID="STD" value="0" /> 
+ <FeatureEnum templateID="Wert5" deliveryTypeID="STD">
  <FeatureEnumItem value="Wert6" /> 
  </FeatureEnum>
  </Article>

Und habe nun wie unten folgend versucht schon einmal ein paar Daten raus zubekommen. Leider ergibt das aber ein Fehler.(Bestimmte Zeichen dürfen nicht enthalten sein).

Wie muss ich das verändern damit es passt und wie kann ich die anderen Kriterien mit einbauen??

<Article id="ArtikelNummer" > wiederholt sich wieder nach dem Abschnitt und leitet neuen Artikel ein, der durch </Article> abgeschlossen wird.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
// Artikel anfügen
  for n := 0 to  XMLDocument1.DocumentElement.ChildNodes[KnotenListe.Nodes[3].ChildNodes[0].Attributes['name']].ChildNodes.Count -1 do begin
    Memo1.Lines.Add(Trim(XMLDocument1.DocumentElement.ChildNodes[KnotenListe.Nodes[3].ChildNodes[n].Attributes['name']].ChildNodes[n].Text));
  end;

:cry:

Stehe komplett auf dem Schlauch.

Moderiert von user profile iconNarses: Code- in Delphi-Tag gewandelt.
basner Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Mi 17.06.09 16:38 
Ok den ersten Teil der Lösung hab ich nicht gesehen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
for i := 0 to KnotenListe.Nodes[3].ChildNodes.Count -1 do begin
  Memo1.Lines.Add(KnotenListe.Nodes[3].ChildNodes[i].Attributes['id']);
  Memo1.Lines.Add(KnotenListe.Nodes[3].ChildNodes[i].Attributes['name']);
  Memo1.Lines.Add(KnotenListe.Nodes[3].ChildNodes[i].Attributes['price']);
 end;

Aber wie erhalte ich jetzt diese Werte dazu?

ausblenden Quelltext
1:
 <Features>  <FeatureValue templateID="ein Wert" deliveryTypeID="STD" value="0" />   <FeatureValue templateID="Wert2" deliveryTypeID="STD" includeInOrder="false" value="0.08" />   <FeatureValue templateID="Wert3" deliveryTypeID="STD" value="0" />   <FeatureValue templateID="Wert4" deliveryTypeID="STD" value="0" /> + <FeatureEnum templateID="Wert5" deliveryTypeID="STD">  <FeatureEnumItem value="Wert6" />   </FeatureEnum>					


Moderiert von user profile iconNarses: Code- in Delphi-Tag gewandelt.
basner Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Do 18.06.09 16:49 
Hallo. Habe nur eine kleine Frage.

Den Rest konnte ich lösen und das Dokument soweit einlesen bis auf diese Stelle:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
<Features>
  <FeatureValue templateID="ein Wert" deliveryTypeID="STD" value="0" /> 
  <FeatureValue templateID="Wert2" deliveryTypeID="STD" includeInOrder="false" value="0.08" /> 
  <FeatureValue templateID="Wert3" deliveryTypeID="STD" value="0" /> 
  <FeatureValue templateID="Wert4" deliveryTypeID="STD" value="0" /> 
+ <FeatureEnum templateID="Wert5" deliveryTypeID="STD">
  <FeatureEnumItem value="Wert6" /> 
  </FeatureEnum>
</Features>


Könnt Ihr mir einen Rat geben wie ich die TemplateID und die value dazu rauslesen kann.
Hat es irgendwas mit dem Enum zu tun?

Vielen Dank.
basner Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Fr 19.06.09 17:04 
Konnte es lösen. Hab den Wald vor lauter Bäumen nicht gesehen :wink:
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Fr 19.06.09 19:08 
Ich lieeebe Monologe

Es wäre nett, wenn du die Lösung noch dazuschreiben könntest, weil so wie das Thema gerade ist kann da keiner etwas mit anfangen.