Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Problem beim Auslesen von Elementen (https://www.delphipraxis.net/182646-problem-beim-auslesen-von-elementen.html)

delphi_beginner 6. Nov 2014 19:57

Problem beim Auslesen von Elementen
 
Hallo liebe Leute,

leider komme ich mit meinen schmalen XML- und Delphi-Kenntnissen nicht an die Werte "Tim", "Tester" usw.

Code:
<?xml version="1.0" encoding="UTF-8"?>
<ORDER version="2.1" type="standard" xmlns="http://www.opentrans.org/XMLSchema/2.1"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.opentrans.org/XMLSchema/2.1 opentrans_2_1.xsd"
   xmlns:bmecat="http://www.bmecat.org/bmecat/2005">
   <ORDER_HEADER>
      <CONTROL_INFO>
         <GENERATION_DATE>2014-10-15T08:14:00+01:00</GENERATION_DATE>
      </CONTROL_INFO>
      <ORDER_INFO>
         <ORDER_ID>8954554</ORDER_ID>
         <ORDER_DATE>2014-11-06</ORDER_DATE>
         <PARTIES>
            <PARTY>
               <PARTY_ROLE>Kunde</PARTY_ROLE>
            </PARTY>
            <PARTY>
               <PARTY_ROLE>Haendler</PARTY_ROLE>
            </PARTY>
            <PARTY>
               <PARTY_ROLE>Lieferant</PARTY_ROLE>
               <ADDRESS>
                  <bmecat:NAME>Tim</bmecat:NAME>
                  <bmecat:NAME2>Tester</bmecat:NAME2>
                  <bmecat:NAME3>Test-Firma</bmecat:NAME3>
                  <bmecat:STREET>Testweg 5</bmecat:STREET>
                  <bmecat:ZIP>22085</bmecat:ZIP>
                  <bmecat:CITY>Hamburg</bmecat:CITY>
                  <bmecat:COUNTRY>Deutschland</bmecat:COUNTRY>
                  <bmecat:COUNTRY_CODED>DE</bmecat:COUNTRY_CODED>
                  <bmecat:PHONE>Telefon</bmecat:PHONE>
                  <bmecat:EMAIL>EMail-Adresse</bmecat:EMAIL>
               </ADDRESS>
            </PARTY>
         </PARTIES>
      </ORDER_INFO>
   </ORDER_HEADER>
</ORDER>
Könnte mir bitte jemand einen Tipp geben, wie ich an die Werte im Knoten "ADDRESS" herankomme, um die Werte für Name1, Name2 usw. auszulesen?
Vielen Dank schön mal im Voraus.

Viele Grüße
Susi

Eifelschreck 7. Nov 2014 10:12

AW: Problem beim Auslesen von Elementen
 
Hallo delphi_beginner

Code:
<?xml version="1.0" encoding="UTF-8"?>

-<ORDER xmlns:bmecat="http://www.bmecat.org/bmecat/2005" xsi:schemaLocation="http://www.opentrans.org/XMLSchema/2.1 opentrans_2_1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentrans.org/XMLSchema/2.1" type="standard" version="2.1">
-<ORDER_HEADER>
-<CONTROL_INFO>
<GENERATION_DATE>2014-10-15T08:14:00+01:00</GENERATION_DATE>
</CONTROL_INFO>
-<ORDER_INFO>
<ORDER_ID>8954554</ORDER_ID>
<ORDER_DATE>2014-11-06</ORDER_DATE>
-<PARTIES>
+<PARTY>

+<PARTY>

+<PARTY>
</PARTIES>
</ORDER_INFO>
</ORDER_HEADER>
</ORDER>
Die eine Frage ist: Wie greiftst Du auf die XML-Datei zu?
a) mit den XML-Komponenten...
b) mittels eigenen geschriebenen Textzugriffsmethoden...
c) die PARTY's/Rols umbenennen in Dealer/Customer/Distributor...

zu a) wenn alle XML-Komponenten installiert sind, ist es möglich im Reiter Internet die Komponente "XMLDocument" und dann IXMLNode Interface nutzen Embarcadero-Hilfe.

zu b) Programmierung im Rahmen von Textdateien und rekursiv/in einer Schleife die Party's abfragen.

zu c) wenn mit Textdateien (b) gearbeitet werden soll ==> NOSQL

Ich hoffe ich habe Dir Gedankenhilfe gegeben...

Eifelschreck

Dejan Vu 7. Nov 2014 10:32

AW: Problem beim Auslesen von Elementen
 
Für XML bitte keine selbstgebauten XML-Stringfrickellösungen nehmen. Das geht doch eh irgendwann nach hinten los. Lieber einmal länger lesen und lernen, mit einer der fertigen Lösungen umzugehen.

delphi_beginner 7. Nov 2014 10:59

AW: Problem beim Auslesen von Elementen
 
Danke, für die Antworten.
Ich versuche mich mit dem XMLDocument und IXMLNode Interface.
Mit dem Auslesen der anderen Werte gibt es soweit auch keine Probleme.

Die Schwierigkeiten liegen nur beim Auslesen der Werte im Knoten "ADDRESS".

Code:
 
<ADDRESS>
   <bmecat:NAME>Tim</bmecat:NAME>            
</ADDRESS>
Leider komme ich nicht drauf, wie ich auf "Tim" zugreifen kann. :oops:

p80286 7. Nov 2014 12:06

AW: Problem beim Auslesen von Elementen
 
Ich nehme an daß "bmecat:NAME" der NodeName ist. Wenn Du keinen mecker bekommst von wg. ungültiges Zeichen oder so ä. dann sollte das wohl funktionieren;

Gruß
K-H

delphi_beginner 7. Nov 2014 12:17

AW: Problem beim Auslesen von Elementen
 
Danke an alle - ist gelöst mit findNode.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:12 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