Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

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

Re: bestimmte XML-Nodes auslesen

  Alt 25. Jul 2006, 10:21
Ich muss mich da mal dranhängen. Ich habe folgendes XML Dokument:
XML-Code:
<importkennungen>
 <zeitraum jahr="2006">
    <doktyp kennung="11A13">
      <ziel print="true">(#DATAWERK)\AUSGHEIN</ziel>
    </doktyp>

    <doktyp kennung="11A14">
      <ziel>(#BUNG06)\AUSGNUNG</ziel>
    </doktyp>

    <doktyp kennung="11B14">
      <ziel>(#BUNG06)\EINGNUNG</ziel>
    </doktyp>

    <doktyp kennung="11B01" MapField="Vorgang" fromChar="0" Length="5" FormularFilter="WEAR" SearchFieldName="Vorgang">
      <ziel>(#BUNG06)\EINGNUNG</ziel>
    </doktyp>

    <doktyp kennung="EB" MapField="BA" fromChar="0" Length="2" FormularFilter="KOAU" SearchFieldName="Rg-Nr">
      <ziel>(#BUNG06)\EINGNUNG</ziel>
    </doktyp>

    <doktyp kennung="ZV" MapField="BA" fromChar="0" Length="2" FormularFilter="KOAU" SearchFieldName="Belegnummer">
      <ziel>(#BUNG06)\EINGNUNG</ziel>
    </doktyp>

  </zeitraum>
</importkennungen>
zeitraum kann auch 2003 oder 2004 oder so sein. Das ist nur ein Auschnitt. Ich will jetzt alle Unterknoten itterieren, die sich unterhalb eines Zeitraumes mit einem bestimmten Jahr befinden:
Delphi-Quellcode:
    s := Format('//zeitraum[@jahr="%s"]', [Year]); //Year = 2006
    Nodes := FXMLDoc.selectNodes(s);
    for i := 0 to Nodes.length - 1 do
    begin
      Node := Nodes.item[i];
      s := Node.selectSingleNode('doktyp/@kennung').nodeValue;
      DebugLog('Knoten', s);
    end;
Nutr leider ist Nodes-length = 1, sollte aber sechs sein.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat