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?