AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Exception mit himXML und Codetabelle ISO 8859-15
Thema durchsuchen
Ansicht
Themen-Optionen

Exception mit himXML und Codetabelle ISO 8859-15

Ein Thema von knochen · begonnen am 30. Okt 2020 · letzter Beitrag vom 2. Nov 2020
Antwort Antwort
knochen

Registriert seit: 26. Aug 2009
81 Beiträge
 
Delphi 2006 Professional
 
#1

Exception mit himXML und Codetabelle ISO 8859-15

  Alt 30. Okt 2020, 13:13
Hallöchen,

ich habe ein Problem beim Einlesen einer XML-Datei mit himXML, das mir bislang immer hervorragende Dienste geleistet hat.
Hier ein wenig Code:

Delphi-Quellcode:
  function XMLTest: String;
  var
    xml: TXMLFile;
    node: TXMLNode;
  begin
    Result := '';

    xml := TXMLFile.Create(nil, 'AMTS.xml', False);

    try
      node := xml.FindNode['Irgendwas'];
      if Assigned(node) then
        Result := node.Text;
    finally
      xml.Free;
    end;
  end;
Die XML-Datei habe ich angehängt. Das ist eine Beispieldatei für eine XML-Datei mit AMTS-Daten (Arneimitteltherapiesicherheit).
Zitat Wikipedia: "Die Codetabelle ISO 8859-15 dient als Zeichensatzvorgabe für amtliche Zwecke wie die aufgedruckten Daten der Elektronischen Gesundheitskarte."

Beim Laden der XML-Datei (also beim Create) erscheint eine Exception: "Im Projekt Test.exe ist eine Exception der Klasse EXMLException mit der Meldung '[EXMLException] TXReader.SetEnc: unknown encoding' aufgetreten."

Die ISO-Encodings, die himXML kennt, gehen von ISO 8859-1 bis ISO 8859-9, wenn ich den Code richtig verstanden habe.

Frage: gibt es eine Möglichkeit, die Datei mit himXML einzulesen oder mus ich mich mit einem weiteren XML-Parser anfreunden?

Vielen Dank im Voraus
Angehängte Dateien
Dateityp: xml AMTS.xml (1,6 KB, 8x aufgerufen)
A fool with a tool remains a fool.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Exception mit himXML und Codetabelle ISO 8859-15

  Alt 31. Okt 2020, 12:09
Kann man die nicht einfach definieren? In Zeile 721 (oder 723) fügst du der Aufzählung einen neuen Wert hinzu und nach Zeile 1900 oder 1912 definierst du dann dafür den IANA-String und die Windows-Codepage (CP28605). Übrigens kennt Windows auch noch ISO 8859-13, was bei HimXML fehlt. 10, 11 und 14 kennt Windows nicht.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Exception mit himXML und Codetabelle ISO 8859-15

  Alt 31. Okt 2020, 14:51
Joar, entweder das dort einfügen,
oder alternativ via TEncoding/TFile.GetAllText/TStringStream/TStringList/... die Datei einlesen und als "Text" (Unicode) übergeben.
$2B or not $2B
  Mit Zitat antworten Zitat
knochen

Registriert seit: 26. Aug 2009
81 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Exception mit himXML und Codetabelle ISO 8859-15

  Alt 2. Nov 2020, 13:00
Vielen Dank,

ich habe den Vorschlag von Redeemer umgesetzt. Es kompiliert und die TreeDemo funktioniert. Vielen Dank für den Tipp.
Allerdings blicke ich wohl noch nicht ausreichend durch, um selbst Werte auszulesen.

Ich habe es versucht mit
  Result := xml['AMTS:MP\AMTS:P\egk'].Text; oder
Delphi-Quellcode:
  node := xml.FindNode['AMTS:MP'];
  if Assigned(node) then
  begin
    node := node.FindNode['AMTS:P'];
    if Assigned(node) then
    begin
      Result := node.Text;
    end;
  end;
Kein Erfolg, ...Text ist immer leer. Wo liegt mein Bedienungsfehler?
A fool with a tool remains a fool.
  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 15:40 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