AGB  ·  Datenschutz  ·  Impressum  







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

doppeltes Tag

Ein Thema von JSB · begonnen am 4. Jul 2007 · letzter Beitrag vom 5. Jul 2007
Antwort Antwort
JSB

Registriert seit: 4. Okt 2004
Ort: Mönchengladbach
150 Beiträge
 
Delphi 7 Enterprise
 
#1

doppeltes Tag

  Alt 4. Jul 2007, 13:30
Ich habe folgende XML:

SQL-Code:
<?xml version="1.0" encoding="utf-8"?>
  <Products>
    <Product>
      <ProductIdent>
        <ProductInsert>1</ProductInsert>
        <UserProductID>1234ABSDE</UserProductID>
        <ProductID>0</ProductID>
        <AnrIdent>0</AnrIdent>
        <EANIdent>EE</EANIdent>
      </ProductIdent>
    </Product>
    <Product>
      <ProductIdent>
        <ProductInsert>1</ProductInsert>
        <UserProductID>12345ABSDE</UserProductID>
        <ProductID>0</ProductID>
        <AnrIdent>0</AnrIdent>
        <EANIdent>MYEAN</EANIdent>
      </ProductIdent>
      <Anr>12</Anr>
      <EAN>132456</EAN>
      <Name>test</Name>
    </Product>
  </Products>
</Request>
(Bitte SQL ignorieren) Ich möchte jedes Tag füllen.

Allerdings kommt <Product> doppelt vor...

XMLDocument.childNodes.nodes['Products'].childNodes.nodes['Product'].childNodes.nodes['ProductIdent'].childNodes.nodes['Anr'].nodevalue := 1234567890123; der oben angegebene Code schreibt leider in das erste Tag? Wie komme ich auf das zeweite?
MFG:
JoeSchnapsBurner
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: doppeltes Tag

  Alt 4. Jul 2007, 14:35
bei Node kannst du den Index oder Namen angeben. Anstelle von 'Product' kannst du also auch die Indexe setzen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
JSB

Registriert seit: 4. Okt 2004
Ort: Mönchengladbach
150 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: doppeltes Tag

  Alt 4. Jul 2007, 14:47
habe ich mir auch überlegt, aber sobald ein Feld hinzugefügt wird ist das ganze nicht mehr verwertbar...

da dies ohne Vorwarnung vorkommen wird....
MFG:
JoeSchnapsBurner
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

Re: doppeltes Tag

  Alt 4. Jul 2007, 15:36
Hi,

ich hab eben mal ein Projekt von mir abgewandelt.
Ich hoffe, es hilft (ungetestet!)

Delphi-Quellcode:
var
  products: ixmlnodelist;
  product: ixmlnode;
begin
  products := xmldoc.ChildNodes.FindNode('products').ChildNodes;
  for i := 0 to products.Count-1 do
  begin
    product := products.Get(i);
    if lowercase(product.NodeName) = 'productthen //<-- Das if kannst du weglassen, wenn es eh nur <product>-Tags gibt
    begin
      with product do
      begin
      ...
      end;
    end;
  end;
end;
Edit: Variablennamen geändert...
  Mit Zitat antworten Zitat
JSB

Registriert seit: 4. Okt 2004
Ort: Mönchengladbach
150 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: doppeltes Tag

  Alt 5. Jul 2007, 07:22
ok, interessant. Ich gehe also im Grunde genommen die Indexe durch bis ich das zweite product finde, schränke meine Suche aber auf das Parent ab. Alles klar

Es sollte verboten sein Tags gleich zu benennen. Zu mindestens die auf der gleichen ebene....
MFG:
JoeSchnapsBurner
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#6

Re: doppeltes Tag

  Alt 5. Jul 2007, 07:27
Es sollte verboten sein Tags gleich zu benennen. Zu mindestens die auf der gleichen ebene.... [/quote]

nope. das ist usus. mit XPATH oder so kann man auch alle nodes mit gleichem namen auf einer ebene selektieren. da hab ich mich aber noch gar nicht damit beschäftigt...
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  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 05:04 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