AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XML-Knoten ändern mit MSXML

Ein Thema von Silk · begonnen am 20. Dez 2006 · letzter Beitrag vom 22. Dez 2006
Antwort Antwort
Silk

Registriert seit: 14. Sep 2006
Ort: Torgau
12 Beiträge
 
#1

XML-Knoten ändern mit MSXML

  Alt 20. Dez 2006, 17:30
Hallo,

bin in das Thema XML erst kürzlich eingestiegen und das anlegen und auslesen klappt super.
Doch jetzt interessiert mich, wie ich einen Knoten in XML ändere?

Ich benutze MSXML unter Delphi2005 PE und lege die Nodes mit "create" und "appendChild" an.
Als Filter will ich die Rechnungsnummer nehmen (diese ist eindeutig).

Meine XML-Struktur sieht folgendermaßen aus:

Delphi-Quellcode:
<root>
 <rechnung>
  <rechnungsnummer>C01/06</rechnungsnummer>
  <datum>01.01.2006</datum>
  <positionen>
   <pos>
    <bezeichnung>Test</bezeichnung>
    <einzelpreis>1,00</einzelpreis>
    <menge>2</menge>
   </pos>
   <pos>
    <bezeichnung>Test2</bezeichnung>
    <einzelpreis>2,00</einzelpreis>
    <menge>5</menge>
   </pos>
  </positionen>
 </rechnung>
 <rechnung>
  ...
 </rechnung>
</root>
Meine Idee ist, dass ich den Knoten "Rechnung" komplett auslese, die Werte entsprechend ändere, den Knoten lösche
und ihn wieder mit den geänderten Daten neu anlege (am besten an die gleiche Stelle - AppendAfter???).

- Gibt es sowas wie AppendAfter???
- Gibt es eine andere Möglichkeit, Knoten in XML zu ändern (Text!, nicht die Attribute -> dafür habe ich schon einiges gefunden)

Vielen Dank im Voraus.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: XML-Knoten ändern mit MSXML

  Alt 20. Dez 2006, 17:44
Herzlich willkommen in der Delphi-PRAXiS, Silk.

Du bist nahe dran: Die Methode insertBefore() kommt der von dir gesuchten Funktionalität am nächsten. Allerdings kannst du mit der Methode replaceChild() das Entfernen und Einfügen zusammenfassen. Du kannst auch schreibend auf die Eigenschaft text eines Elementes zugreifen, wenn du nur seinen Textinhalt ändern möchtest. In der XML-Rubrik des Forums findest du reichlich Anschauungsmaterial.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Silk

Registriert seit: 14. Sep 2006
Ort: Torgau
12 Beiträge
 
#3

Re: XML-Knoten ändern mit MSXML

  Alt 22. Dez 2006, 10:47
...vielen Dank für die schnelle Hilfe!
  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 10:57 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