Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Fehler? XML Attribute mal korrekt, mal nicht (https://www.delphipraxis.net/184883-fehler-xml-attribute-mal-korrekt-mal-nicht.html)

BlackbirdBerlin 28. Apr 2015 07:01

Fehler? XML Attribute mal korrekt, mal nicht
 
Hallo zusammen.

Auf meiner Entwicklungsumgebung funktioniert untenstehender Code korrekt. Alle drei Attribute werden Element aufgeführt.
Code:
  BMENode := BME.Node.AddChild('BMECAT');
  BMENode.Attributes['version'] := '1.2';
  BMENode.Attributes['xml:lang'] := 'de';
  BMENode.Attributes['xmlns'] := 'http://www.bmecat.org/bmecat/1.2/bmecat_new_catalog';
Die gleiche Exe beim Kunden unterschlägt version und xml:lang

Weiß jemand, ob hier eine DLL veraltet sein könnte oder einen anderen Grund (Implementierung falsch)?

Ich nutze noch D7 und Standard-TXMLDocument.

Viele Grüße,
Tim

mjustin 28. Apr 2015 07:29

AW: Fehler? XML Attribute mal korrekt, mal nicht
 
Das könnte von der installierten MSXML Version abhängen, die standardmäßig von Delphi verwendet wird.
Der Code sieht allerdings so aus als würde man das gleiche Ergebnis auch besser erreichen. XML Namespaces lassen sich den Elementen auch anders angeben, dafür haben die Methoden weitere Parameter. Vielleicht wird das Ergebnis dann auch auf beiden Systemen identisch aussehen.

BlackbirdBerlin 28. Apr 2015 07:35

AW: Fehler? XML Attribute mal korrekt, mal nicht
 
Zitat:

Zitat von mjustin (Beitrag 1299469)
Das könnte von der installierten MSXML Version abhängen, die standardmäßig von Delphi verwendet wird.
Der Code sieht allerdings so aus als würde man das gleiche Ergebnis auch besser erreichen. XML Namespaces lassen sich den Elementen auch anders angeben, dafür haben die Methoden weitere Parameter. Vielleicht wird das Ergebnis dann auch auf beiden Systemen identisch aussehen.

Danke für den Tipp.
Meinst Du DeclareNamespace?

Viele Grüße,
Tim

mjustin 28. Apr 2015 07:54

AW: Fehler? XML Attribute mal korrekt, mal nicht
 
Zitat:

Zitat von BlackbirdBerlin (Beitrag 1299470)
Meinst Du DeclareNamespace?

Ja, ich konnte dazu leider kein schönes (detailliertes) Delphi Beispiel im Web finden.

BlackbirdBerlin 28. Apr 2015 08:10

AW: Fehler? XML Attribute mal korrekt, mal nicht
 
Danke erstmal.
Ich werd auf jeden Fall die MSXML Version checken. Meine Umgebung ist eine alte XP-VM, die Kundenmaschine ist Win7....
Da ja aber zwei Attribute flöten gehen und ich mit DeclareNamespace nur eines davon alternativ setzen kann, hab ich wohl noch ein Problem...
Grüße,
Tim

himitsu 28. Apr 2015 08:42

AW: Fehler? XML Attribute mal korrekt, mal nicht
 
Wenn das vorherrige Attribut rausflog, durch das fehlerhafte problematische Benutzen des Namespaces, könnte sich dieses Problem damit dann auch erledigen.

BlackbirdBerlin 28. Apr 2015 13:03

AW: Fehler? XML Attribute mal korrekt, mal nicht
 
Beim Kunden konnte ich noch nicht prüfen, aber nach Anwendung von DeclareNamespace auf dem äußersten Element werden die beiden direkten Unterelemente nun mit einem leeren "Attribut" xmlns ausgegeben...

Das soll so eigentlich nicht, oder ist das Standardverhalten von TXMLDocument bzw. den Nodes?

Grüße, Tim

BlackbirdBerlin 1. Mai 2015 19:50

AW: Fehler? XML Attribute mal korrekt, mal nicht
 
Inzwischen konnte ich das auf dem Kundensystem prüfen.
Mit DeclareNamespace werden die beiden weitere Attribute zwar korrekt aufgeführt, aber wie zuvor geschrieben, erscheint auch auf dem Kundensystem xmlns auf den beiden direkt darunterliegenden Elementen leer.
Auf dem Kundensystem konnte ich sehr viele DLLs finden, in der Systemsteuerung wird MSXML (Parser) Version 4.30 ausgewiesen
Gibt es irgendeine Komponente (oder Bibliothek) die nicht auf dem M$-Kram basiert?
Viele Grüße
Tim


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