AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi anweisung subknoten weiterschreiben
Thema durchsuchen
Ansicht
Themen-Optionen

anweisung subknoten weiterschreiben

Ein Thema von MkA2k · begonnen am 3. Nov 2006 · letzter Beitrag vom 4. Nov 2006
Antwort Antwort
MkA2k

Registriert seit: 20. Okt 2006
9 Beiträge
 
#1

anweisung subknoten weiterschreiben

  Alt 3. Nov 2006, 22:12
Hi,

Folgendes ich schreibe mir gerade ein Arbeitszeiten Verwaltungsprogramm. Ich hab mir gedacht ich baue meine XML Datei so auf
XML-Code:
<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>
Normalweise schreibe ich so meine Knoten


Delphi-Quellcode:
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)
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

Kann mir bitte jemand helfen?

Danke

MkA2k
  Mit Zitat antworten Zitat
Neuromancer

Registriert seit: 8. Aug 2003
62 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: anweisung subknoten weiterschreiben

  Alt 4. Nov 2006, 12:24
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:
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);
Gruß

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...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz