Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Gleiche Unterkonten auslesen

  Alt 15. Mai 2006, 10:42
Ich habe folgendes XML Dokument:
XML-Code:
<importkennungen>

  <zeitraum jahr="2007">
    <doktyp kennung="11A11">
      <ziel>(#BUNG07)\Firma2\Lieferschein</ziel>
      <aliasliste>
        <alias>BELEMMER025=1033</alias>
        <alias>AULIEMER042=1021</alias>
        <alias>GESCEICH026=1034</alias>
        <alias>UNTEEICH027=1035</alias>
        <alias>LIEFMMER029=1037</alias>
        <alias>KUNDMMER032=1040</alias>
        <alias>KUNDNUNG033=1041</alias>
        <alias>KUNDNUNG035=1042</alias>
        <alias>PLZKUNDE036=1043</alias>
        <alias>ORTKUNDE037=1044</alias>
        <alias>MATCUNDE038=1045</alias>
        <alias>BELEATUM039=1046</alias>
      </aliasliste>
    </doktyp>
Jetzt wollte ich gerne alles Aliase in eine StringListe laden:

Delphi-Quellcode:
  s := Format('/importkennungen/zeitraum[@jahr="%s"]/doktyp[@kennung="%s"]/aliasliste', [year, doctype]);
  XMLDomList := XMLDoc.selectNodes(s); // var XMLDomList : IXMLDOMNodeList;

  ValueList := TStringList.Create;
  try
    for i := 0 to XMLDomList.length - 1 do
    begin
      s := XMLDomList.item[i].nodeValue;
      ValueList.Add(s)
    end;
Ich dachte jetzt eigentlich, dass ich alle <alias>-Knoten ind er XMLDomList hätte und ich die eibfach in einer Schleife durchgehen könnte. Dem scheint aber nicht so zu sein, da sie nur die Länge von eins hat, was nicht sein kann. Wo liegt also der Fehler?

Ich habe es jetzt so:
Delphi-Quellcode:
  s := Format('/importkennungen/zeitraum[@jahr="%s"]/doktyp[@kennung="%s"]/aliasliste', [year, doctype]);
  XMLDomList := XMLDoc.selectNodes(s);

  ValueList := TStringList.Create;
  try
    for i := 0 to XMLDomList.length - 1 do
    begin
      XMLNode := XMLDomList.item[i].selectSingleNode('alias');
      ValueList.Add(XMLNode.text);
    end;
Aber ich bekomme trotzdem immer nur den ersten Alias.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat