![]() |
anweisung subknoten weiterschreiben
Hi,
Folgendes ich schreibe mir gerade ein Arbeitszeiten Verwaltungsprogramm. Ich hab mir gedacht ich baue meine XML Datei so auf
XML-Code:
Normalweise schreibe ich so meine Knoten
<xml version="1.0"?>
<azeit> <monat name="oktober"> <datum value="16.10.06" start="10:00" ende="16:15" pause="0:00"> <datum value="17.10.06" start="10:00" ende="15:00" pause="0:00"> <datum value="18.10.06" start="10:00" ende="16:15" pause="0:00"> <datum value="19.10.06" start="10:00" ende="15:45" pause="0:30"> </monat> <monat name="november"> <datum value="02.11.06" start="10:00" ende="17:00" pause="0:00"> <datum value="03.11.06" start="10:00" ende="16:00" pause="0:00"> </monat> </azeit>
Delphi-Quellcode:
Leider weiß ich nicht wie ich die anweisung gebe der dem Monats Knoten noch eine Attribute hingeschrieben wird bzw. das ich angebe das Unter dem Knoten Monat "Oktober" weitergeschrieben wird
var
monat : IXMLDOMNodelist; subnode: IXMLDOMNode; adri : IXMLDOMNode; begin if (frm_add.ed_datum.Text='') or (frm_add.ed_beginn.Text='') or (frm_add.ed_ende.Text='') then begin MessageDlg('Es wurden nicht alle Felder ausgefüllt!', mtError, [mbOK], 0); Exit; end; monat := xmldoc.createElement('monat'); //hier müsste ich ein angeben wie die Attribute heißen soll(monatsname) //bevor ich weiter zu den restlichen eingaben komme subnode := xmldoc.createElement('datum'); adri := xmldoc.createAttribute('value'); adri.text := frm_add.ed_datum.Text; monat.appendChild(subnode,adri) Kann mir bitte jemand helfen? Danke MkA2k |
Re: anweisung subknoten weiterschreiben
Hallo,
normalerweise setzst du die Attribute mit "setAttribute". Diesen Vorgang kannst du beliebig oft für einen Knoten wiederholen. Gruß PS: Der Aufruf sieht dann so aus:
Delphi-Quellcode:
Gruß
aMonatNode := aXMLDoc.createElement('monat');
aDatumNode := aXMLDoc.createElement('datum'); aDatumNode.setAttribute('Attribut_1', 'Wert von Attribut_1'); aDatumNode.setAttribute('Attribut_2', 'Wert von Attribut_2'); aDatumNode.setAttribute('Attribut_3', 'Wert von Attribut_3'); aMonatNode.appendChild(aDatumNode); aXMLDoc.documentElement.appendChild(aMonatNode); Achja, und noch was: Du erzeugst neue Knoten mit "createElement". Habe ich lange Zeit auch so gemacht. Mit wachsender Praxis und Erfahrung allerdings hat sich gezeigt, dass es besser ist, Knoten mit "createNode" zu erzeugen. Spätestens wenn Namespaces ins Spiel kommen, lohnt sich die Vorgehensweise, wenn auch geringfügig mehr Tipparbeit vonnöten ist... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz