AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi XML Zugriff auf Datei und schreiben (Knoten Attribute...)
Thema durchsuchen
Ansicht
Themen-Optionen

XML Zugriff auf Datei und schreiben (Knoten Attribute...)

Ein Thema von chris_82 · begonnen am 27. Aug 2003 · letzter Beitrag vom 3. Sep 2003
Antwort Antwort
chris_82

Registriert seit: 26. Aug 2003
112 Beiträge
 
Delphi 6 Enterprise
 
#1

XML Zugriff auf Datei und schreiben (Knoten Attribute...)

  Alt 27. Aug 2003, 08:19
Code:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<StockHoldings>
   ***<Stock exchange="NASDAQ">
      ******<name>Borland</name>
      ******<price>15.375</price>
      ******<symbol>BORL</symbol>
      ******<shares>100</shares>
   ***</Stock>
   ***<Stock exchange="NYSE">
      ******<name>Pfizer</name>
      **** *<price>42.75</price>
      ******<symbol>PFE</symbol>
      ******<shares type="preferred">25</shares>

   ***</Stock>
</StockHoldings
Das ist ein Beispielcode aus der Delphi hilfe, komme irgendwie nicht klar damit...was reinzuschreiben oder auszulesen...muss ganze teile eines xml dokuments auslesen und in ein anderes einfügen, dabei muss ich noch die tags ändern bzw eine andere struktur zuweisen.

Wie mach ich das am besten.

hab es zwar geschafft etwas reinzuschreiben oder auch auszulesen, nur nicht an den stellen wo ich wollte, benutze den parser msxml und versuch über das documentelement objekt an die knoden und kinder hernazukommen.
Mir wär sicher erst mal geholfen wenn ich mal n beispielcode für obiges bsp hätte wie ich das die knoten und attribute, texte auslese oder welche einfüge.
....oop und nun...??
http://www.sengewald.info
  Mit Zitat antworten Zitat
chris_82

Registriert seit: 26. Aug 2003
112 Beiträge
 
Delphi 6 Enterprise
 
#2

ersten Erfolg zu vermelden!

  Alt 27. Aug 2003, 08:45
OK, auf den ersten Knoten "StockHoldings" kann ich zugreifen, auf den zweiten "Stock" auch, aber wie greif ich auf die weiteren und auf die attribute zu?
....oop und nun...??
http://www.sengewald.info
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#3

Re: XML Zugriff auf Datei und schreiben (Knoten Attribute...

  Alt 3. Sep 2003, 07:08
hallo,

bei den Tutorials gibts ein XML-Tut, das sollte dir helfen.
Das mit den Attributen findest dort nicht. Das versuche ich auch grad rauszufinden.

grüße, daniel
Daniel
  Mit Zitat antworten Zitat
chris_82

Registriert seit: 26. Aug 2003
112 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: XML Zugriff auf Datei und schreiben (Knoten Attribute...

  Alt 3. Sep 2003, 08:24
Hiermit kannst du dir den Wert des Attributs Attributname auslesen:

.AttributeNodes['Attributname'].Text damit kannst du den Wert eines Attributs ändern bzw es neu anlegen und gleich mit nem Wert versehen:

.Attributes['Attributname']
....oop und nun...??
http://www.sengewald.info
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#5

Re: XML Zugriff auf Datei und schreiben (Knoten Attribute...

  Alt 3. Sep 2003, 08:37
Zitat von Sanchez0815:
bei den Tutorials gibts ein XML-Tut, das sollte dir helfen.
Das mit den Attributen findest dort nicht. Das versuche ich auch grad rauszufinden.
Ich schätze mal, da schreibt der Chakotay dran ... ... oder ihr müsst ihm sagen, dass er dazu was schreiben soll.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: XML Zugriff auf Datei und schreiben (Knoten Attribute...

  Alt 3. Sep 2003, 09:07
Hi,
Beitrag gelesen und zur Kenntnis genommen.

Chris

PS: Mir fehlen nur noch Gründe warum man Attribute verwenden soll...
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#7

Re: XML Zugriff auf Datei und schreiben (Knoten Attribute...

  Alt 3. Sep 2003, 09:22
Zitat von chris_82:
Wie mach ich das am besten.
Ist die Frage (hm ... der Satz ) noch von Interesse? Wenn ja, dann hier ein kurzes Beispiel für eine List-View mit 5 Spalten (Reportmodus). Ich gehe davon aus, dass du die XML-Datei bereits geladen hast:
Delphi-Quellcode:
      nl := xmldoc.selectNodes('StockHoldings/Stock');

      if(nl.length > 0) then
        for i := 0 to nl.length - 1 do begin
          li := lv1.Items.Add;

          node := nl.item[i].selectSingleNode('./@exchange');
          if(node <> nil) and (node.Text <> '') then
            li.Caption := node.Text
          else
            li.Caption := 'unbekannt';

          for j := 1 to length(SubNodes) do begin
            node := nl.item[i].selectSingleNode('./' +
              SubNodes[j]);
            if(node <> nil) and (node.Text <> '') then
              li.SubItems.Add(node.Text)
            else
              li.SubItems.Add('?');
          end;
        end;
Vielleicht noch die Variablen:
Delphi-Quellcode:
const
  SubNodes : array[1..4]of string =
    ('name','price','symbol','shares');
var
  xmldoc : DOMDocument;
  nl : IXMLDOMNodeList;
  node : IXMLDOMNode;
  i,
  j : integer;
  li : TListItem;
Und anders herum (sprich: hinzufügen) geht natürlich auch:
Delphi-Quellcode:
      node := xmldoc.createElement('Stock');
      node.setAttribute('exchange','HEIMLICHE BÖRSE');

      xmldoc.documentElement.appendChild(node);

      snode := xmldoc.createElement('name');
      snode.Text := 'Simmi AG';
      node.appendChild(snode);

      snode := xmldoc.createElement('price');
      snode.Text := '-1';
      node.appendChild(snode);

      snode := xmldoc.createElement('symbol');
      snode.Text := 'SAG';
      node.appendChild(snode);

      snode := xmldoc.createElement('shares');
      snode.Text := 'alle Ordner auf Laufwerk C: ;o)';
      snode.setAttribute('type','preferred');
      node.appendChild(snode);


      ShowMessage(xmldoc.xml);
Auch hier noch die Variablen (und der Hinweis, dass du die XML-Datei vorher natürlich laden musst!)
Delphi-Quellcode:
var
  node,
  snode : IXMLDOMElement;
@Chakotay: Es sagt ja niemand, dass es in deinem Tutorial nur um den Movie Organizer gehen soll. Oder du denkst dir halt noch was aus, wo Attribute reinpassen könnten.

Gruß.
  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 03:51 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