
Delphi NativeXML - jak dekodovat znaky "& # 2 2 5 ;" v XML?
Dobry den,
jiz nekolik dnise trapim s tim jak nacist XMl soubor abych mel spravne kodovani (pri parsovani byly znaky spravne nacteny). Pouzivam komponentu NativeXML pro Delphi, ale obecne se v XML teprve orientuji a v kodování se nemuzu vyznat.
Soubory, ktere potrebuji nacist a zpracovat nemaji oznacene kodovani, tedy v XMl deklaraci je pouze: <?xml version=„1.0“ standalone=„yes“?>
Hodnoty entit potom jsou napriklad (mezi kody zde pridany mezery!):
<FIELD>([ & # 1 2 3 ;0& # 1 2 4;AB& # 1 2 5 ;])</FIELD> = text '([{0|AB}])'
<FIELD>Koncov& # 2 2 5 ; m& # 2 3 6 ;rka</FIELD> = coz je text 'Koncová měrka'
nebo
<FIELD QMLINK=„sNOMSIZE“ UnitList=„UNIT_LENGTH_MM& # 1 2 4 ;mm& # 1 2 4 ;0.0000&# 1 2 4;& # 1 2 4;& # 1 2 4;UNIT_LENGTH_INCH& # 1 2 4;inch& # 1 2 4;0.000000|& # 1 2 4;“ Label=„sNOMSIZE“/>
Pokud XML nactu do XML editoru (XML Viewer, WMHelp ci jine..) dokazi kody „& # 1 2 3 ;“ dekodovat.
Problém mám s načítáním v programu pomocí NativeXML, kde se mi kódy „& # 1 2 3 ;“ a pod. nedekódují a na zpracovani potom mam jednotlive Value nodu v neprekodovanem, puvodnim tvaru. Protože kódování nerozumím, nevím si rady a ani patrani po inetu nepomohlo.
Můžete mi poradit, co je toto za kódování, případně jak s ním pracovat? Pokud má někdo zkušenost s NAtiveXMl (www.simdesign.nl) bylo by to ideální.
Dekuji za nasmerovani, jakakoli rada mi hodne pomuze.
Honza
{ je ASCII hodnota znaku 123 = Char(123)
Nejlepe bude soubor napred dekodovat a nasledne jej pustit do NativeXML, pripadne pouzit jinou komponentu
Díky za rychlou odpověď.
Uvedený znak je jen příklad, XML soubor má znaky s diakritikou uloženy jako HTML externí entity.
Teprve se v XML orientuji a proto jen tuším, že zřejmě musí XML parser podporovat dekodovani na základě externího DTD souboru (protože definice entit nejsou v mnou čtených XML souborech zahrnuty). Řešení, že napřed proženu soubory dekodovanim a až potom je pustim do parseru vidím jako krajní, protože by parsery měly toto dekodovani umět, jen nevim jak na to.
V Delphi programujete - doporučíte nějaký XML pharser který toto umí?
Díky za pomoc.