Einzelnen Beitrag anzeigen

toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#66

Re: Ideen für spezielle Stringbearbeitung

  Alt 5. Aug 2008, 11:26
ich hab das ganze jetzt so gemacht:

Delphi-Quellcode:
procedure Tfrmxml.btnanzClick(Sender: TObject);
const
  XPATH = '//Basket[%d]/@path';
  XANZAHL = '//Baskets[%d]/@totalNumber';
var
  doc: IXMLDOMDocument2;
  n: IXMLDOMNode;
begin
  // Anzahl Briefkörbe auslesen
  if CreateDocument(doc, dbMemo1.Text) then
  begin
    n := doc.selectSingleNode(Format(XANZAHL, [1]));
    edanzahl.text:=(VarToStr(n.nodeValue));
  end else ShowParseError(doc.parseError);
  // Briefkorb Pfad auslesen
  if CreateDocument(doc, dbMemo1.Text) then
  begin
    n := doc.selectSingleNode(Format(XPATH, [strtoint(ednummer.text)]));
    edpfad.text:=(VarToStr(n.nodeValue));
  end else ShowParseError(doc.parseError);


{  if CreateDocumentFromUrl(doc, 'beispiel.xml') then
  begin
    n := doc.selectSingleNode(Format(XPATH, [strtoint(ednummer.text)]));
    edpfad.text:=(VarToStr(n.nodeValue));
  end else ShowParseError(doc.parseError);}

end;
dbmemo1 ist eine dbmemo welche ich direkt aus der db abfülle. soweit so gut. aber wo kann ich den kosmischen XML code //baskets[%d] usw. lernen? ich möchte nämlich jetzt im zweiten schritt den wert: Baskets totalNumber auslesen. So wie ich es oben gemacht habe scheint es nicht zu stimmen, ich krieg eine Zugriffsverletzung. was mach ich falsch?

bin weitergekommen. Und zwar hab ich das %d weggelassen bei der Definition von XANZAHL. Ich versteh zwar nicht warum (was bedeutet dieses %d???).

kannst du mir noch sagen wie ich jetzt den mutierten Wert aus edpfad.text wieder in den XML String speichere? Ich dachte evl. mit: n.nodeValue:=edpfad.text? Aber wie krieg ich den geänderten Node dann in den XML rein?
  Mit Zitat antworten Zitat