GeoGet

Complete geocaching solutions

User Tools

Site Tools


user:navody:xml_parser

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
user:navody:xml_parser [2011/12/20 20:02] gorduser:navody:xml_parser [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
 ====== XML parser ====== ====== XML parser ======
-GeoGet obsahuje XML parser již dlouho, ale od verze 2.6 je tento parser dostupný i všem skritům. Jako parser je použita [[http://wiki.delphi-jedi.org/wiki/JCL_Help:JclSimpleXml.pas|volně dostupná knihovna]]. V uvedeném odkazu je k dispozici celý projekt, ale dokumentace je velmi strohá, a to je hodně nadnesené tvrzení.+GeoGet obsahuje XML parser již dlouho, ale od verze 2.6 je tento parser dostupný i všem skriptům. Jako parser je použita [[http://wiki.delphi-jedi.org/wiki/JCL_Help:JclSimpleXml.pas|volně dostupná knihovna]]. V uvedeném odkazu je k dispozici celý projekt, ale dokumentace je velmi strohá, a to je hodně nadnesené tvrzení.
  
 Použití ve skriptu můžeme demonstrovat na jednoduchém příkladu: Použití ve skriptu můžeme demonstrovat na jednoduchém příkladu:
Line 17: Line 17:
   try   try
     xml.loadfromfile('test.gpx', seAuto, 0);     xml.loadfromfile('test.gpx', seAuto, 0);
 +    //nebo lepe (viz upozorneni pod prikladem)
 +    //xml.loadfromfile('test.gpx', seUTF, 0);
     showmessage(XML.Root.Name);     showmessage(XML.Root.Name);
     for n := 0 to XML.Root.Items.count - 1 do     for n := 0 to XML.Root.Items.count - 1 do
Line 44: Line 46:
 </code> </code>
  
 +<WRAP round important>
 +Zdá se, že druhý parametr ''seAuto'' funkce ''LoadFromFile()'' nepracuje úplně spolehlivě. Občas se mi stává (při krátkých souborech?), že výsledek parsování není převeden do požadovaného výstupního kódování (třetí parametr funkce, ''0=ANSI'' a zkoušel jsem pod Windows i ''1250''), ale zůstává ve vstupním kódování souboru. Pokud jsem druhým parametrem předepsal použité vstupní kódování (např. ''seUTF8''), na chybné kódování výstupu jsem nenarazil. Takže doporučuji raději použít
  
 +<code pascal>
 +  xml.LoadFromFile('test.gpx', seUTF8, 0);
 +</code>
 +</WRAP>
 {{tag>upravy}} {{tag>upravy}}
user/navody/xml_parser.1324407740.txt.gz · Last modified: 2011/12/20 00:00 (external edit)