Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

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

Re: XMLAttribut auslesen

  Alt 24. Jul 2006, 15:51
Ich verstehe es nicht. Ich muss irgendwo etwas falsch machen, aber ich sehe nicht wo.

Ich habe folgende XML-Datei:
XML-Code:
<importkennungen>
  
  <DateMap default="Belegdatum">
    <Form name="WEAR">Lieferschein_Datum</Form>
    <Form name="KOAU">Belegdatum</Form>
  </DateMap>
</importkennungen>
Jetzt will ich den Wert von Form auslesen in Abhängigkeit vom Attribut name, wenn dasnicht klapp, weil kein passendes Attribut gefunden wurde wurde, soll das Attribut von [u]DateMap[i] ausgelesen werden.

Der Code dazu sieht so aus:
Delphi-Quellcode:
  s := Format('/importkennungen/DateMap/Form[@name="%s"]', [FormName]); // FormName = WEAR
  XMLNode := XMLDoc.selectSingleNode(s);
   // Formname gefunden, konfigurierten Wert nehmen
  if Assigned(XMLNode) then
  begin
    result := XMLNode.text;
  end
   // FormName nicht gefunden Default-Wert nehmen
  else
  begin
    XMLNode := XMLDoc.selectSingleNode('/importkennungen/DateMap/@default');
    if Assigned(XMLNode) then
      result := XMLNode.text;
  end;
Aber XMLNode ist immer nil. Der XPath müsste aber stimmen oder habe ich da noch einen Fehler drinne? Ich verstehe es einfach nicht.

Der plöde Parser ist mit einem Umlaut in einem Kommentar nicht klar gekommen. Fiorefox hat es richtig angezeigt, aber der IE nicht.

Jetzt geht es.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat