Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   XML - Casesensitivität macht Ärger (https://www.delphipraxis.net/152617-xml-casesensitivitaet-macht-aerger.html)

Neutral General 29. Jun 2010 16:18

XML - Casesensitivität macht Ärger
 
Hallo,

Ich lese mit TXMLDocument ein XML Dokument aus. Jetzt finde ich es allerdings etwas sehr nervig, dass die Node-Namen case-sensitiv sind. D.h. xml.ChildNodes['Settings'] <> xml.ChildNodes['settings'].

Gibt es da ne Möglichkeit das abzustellen?

Gruß
Neutral General

jfheins 29. Jun 2010 16:22

AW: XML - Casesensitivität macht Ärger
 
Nein, darf es nicht.
Die XML-Knotennamen SIND case sensitiv, das ist vom Standard so vorgeschrieben. Ein case-insensitiver Parser hätte einen großen Bug ;)

Neutral General 29. Jun 2010 16:26

AW: XML - Casesensitivität macht Ärger
 
Das ist ja etwas.. doof.

Gibt es denn eine (einfache, notfalls schwere) Möglichkeit alle Nodenamen im Programm in Lowercase umzuwandeln?

Uwe Raabe 29. Jun 2010 16:38

AW: XML - Casesensitivität macht Ärger
 
NativeXML bietet die Möglichkeit, die Nodes zu iterieren und die Nodenamen zu ändern.

himitsu 29. Jun 2010 17:07

AW: XML - Casesensitivität macht Ärger
 
Du kannst via XPath auch eine Lower()-Funktion nutzen, um die Namen zu vergleichen.

PS: himXML bietet einen CaseInsensitiven Modus, für den Zugriff. :stupid:

PSS: Falls dir alle Groß-/Kleinschreibung egal ist, dann kannst du auch den ganzen XMLText umwandeln.
Delphi-Quellcode:
XMLDoc.XML := AnsiLowerCase(XMLDoc.XML);
.
Oder über 'ne RegEx könnte man so auch die Nodenamen und viele Attributnamen umwandeln lassen. :lol:

Neutral General 29. Jun 2010 17:24

AW: XML - Casesensitivität macht Ärger
 
Groß- und Kleinschreibung ist in den Werten der Nodes leider nicht egal :mrgreen:
Ich mache es gerade tatsächlich mit nem regulären Ausdruck. Ansonsten wäre himXML einen Blick Wert :)


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