[COLOR=#804040][b]option[/b][/color] [COLOR=#804040][b]explicit[/b][/color]
[COLOR=#804040][b]dim[/b][/color] xmlDoc[COLOR=#804040][b],[/b][/color] objNodeList
[COLOR=#804040][b]set[/b][/color] xmlDoc [COLOR=#804040][b]=[/b][/color] [COLOR=#008080]CreateObject[/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"MSXML2.DOMDocument"[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#0000ff]'set xmlDoc = CreateObject("Microsoft.XMLDOM")[/color]
xmlDoc[COLOR=#804040][b].[/b][/color][COLOR=#804040][b]load[/b][/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"obce.xml"[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]set[/b][/color] objNodeList [COLOR=#804040][b]=[/b][/color] xmlDoc[COLOR=#804040][b].[/b][/color]getElementsByTagName[COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"OBEC"[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#0000ff]' Create list of nodes OBEC, which have this form[/color]
[COLOR=#0000ff]' <OBEC>[/color]
[COLOR=#0000ff]' <NAZOV>..</NAZOV>[/color]
[COLOR=#0000ff]' <PSC>..</PSC>[/color]
[COLOR=#0000ff]' <POSTA>..</POSTA>[/color]
[COLOR=#0000ff]' <OKRES>..</OKRES>[/color]
[COLOR=#0000ff]' </OBEC>[/color]
[COLOR=#804040][b]if[/b][/color] objNodeList[COLOR=#804040][b].[/b][/color]length [COLOR=#804040][b]>[/b][/color] [COLOR=#ff00ff]0[/color] [COLOR=#804040][b]then[/b][/color]
[COLOR=#804040][b]dim[/b][/color] fso[COLOR=#804040][b],[/b][/color] csv_file_name[COLOR=#804040][b],[/b][/color] csv_file[COLOR=#804040][b],[/b][/color] csv_line
WScript[COLOR=#804040][b].[/b][/color]Echo[COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Parsing XML and writing data to CSV-file ..."[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#0000ff] ' Open CSV file[/color]
csv_file_name [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]"obce.csv"[/color]
[COLOR=#804040][b]set[/b][/color] fso [COLOR=#804040][b]=[/b][/color] [COLOR=#008080]CreateObject[/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"Scripting.FileSystemObject"[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]const[/b][/color] ForReading [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]1[/color][COLOR=#804040][b],[/b][/color] ForWriting [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]2[/color][COLOR=#804040][b],[/b][/color] ForAppending [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]8[/color]
[COLOR=#804040][b]set[/b][/color] csv_file [COLOR=#804040][b]=[/b][/color] fso[COLOR=#804040][b].[/b][/color]OpenTextFile[COLOR=#804040][b]([/b][/color]csv_file_name[COLOR=#804040][b],[/b][/color] ForWriting[COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]True[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#0000ff] ' create CSV-header-line[/color]
csv_line [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]"Názov obce;PS?;Dodacia pošta;Okres"[/color]
csv_file[COLOR=#804040][b].[/b][/color][COLOR=#a020f0]writeline[/color][COLOR=#804040][b]([/b][/color]csv_line[COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]dim[/b][/color] obec[COLOR=#804040][b],[/b][/color] child[COLOR=#804040][b],[/b][/color] nazov[COLOR=#804040][b],[/b][/color] psc[COLOR=#804040][b],[/b][/color] posta[COLOR=#804040][b],[/b][/color] okres
[COLOR=#804040][b]for[/b][/color] [COLOR=#804040][b]each[/b][/color] obec [COLOR=#804040][b]in[/b][/color] objNodeList
[COLOR=#0000ff] ' parse each elements childs[/color]
[COLOR=#804040][b]for[/b][/color] [COLOR=#804040][b]each[/b][/color] child [COLOR=#804040][b]in[/b][/color] obec[COLOR=#804040][b].[/b][/color]ChildNodes
[COLOR=#804040][b]select[/b][/color] [COLOR=#804040][b]case[/b][/color] child[COLOR=#804040][b].[/b][/color]NodeName
[COLOR=#804040][b]case[/b][/color] [COLOR=#ff00ff]"NAZOV"[/color]
nazov [COLOR=#804040][b]=[/b][/color] child[COLOR=#804040][b].[/b][/color]Text
[COLOR=#804040][b]case[/b][/color] [COLOR=#ff00ff]"PSC"[/color]
psc [COLOR=#804040][b]=[/b][/color] child[COLOR=#804040][b].[/b][/color]Text
[COLOR=#804040][b]case[/b][/color] [COLOR=#ff00ff]"POSTA"[/color]
posta [COLOR=#804040][b]=[/b][/color] child[COLOR=#804040][b].[/b][/color]Text
[COLOR=#804040][b]case[/b][/color] [COLOR=#ff00ff]"OKRES"[/color]
okres [COLOR=#804040][b]=[/b][/color] child[COLOR=#804040][b].[/b][/color]Text
[COLOR=#804040][b]end[/b][/color] [COLOR=#804040][b]select[/b][/color]
[COLOR=#804040][b]next[/b][/color]
[COLOR=#0000ff] ' compose CSV-line[/color]
csv_line [COLOR=#804040][b]=[/b][/color] nazov [COLOR=#804040][b]&[/b][/color] [COLOR=#ff00ff]";"[/color] [COLOR=#804040][b]&[/b][/color] psc [COLOR=#804040][b]&[/b][/color] [COLOR=#ff00ff]";"[/color] [COLOR=#804040][b]&[/b][/color] posta [COLOR=#804040][b]&[/b][/color] [COLOR=#ff00ff]";"[/color] [COLOR=#804040][b]&[/b][/color] okres
csv_file[COLOR=#804040][b].[/b][/color][COLOR=#a020f0]writeline[/color][COLOR=#804040][b]([/b][/color]csv_line[COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]next[/b][/color]
[COLOR=#0000ff] ' close CSV-file and release object from memory[/color]
csv_file[COLOR=#804040][b].[/b][/color][COLOR=#804040][b]Close[/b][/color]
[COLOR=#804040][b]set[/b][/color] csv_file [COLOR=#804040][b]=[/b][/color] [COLOR=#804040][b]nothing[/b][/color]
WScript[COLOR=#804040][b].[/b][/color]Echo[COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]"..done."[/color][COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]else[/b][/color]
[COLOR=#804040][b]dim[/b][/color] err_msg
err_msg [COLOR=#804040][b]=[/b][/color] [COLOR=#008080]chr[/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]34[/color][COLOR=#804040][b])[/b][/color] [COLOR=#804040][b]&[/b][/color] [COLOR=#ff00ff]"OBEC"[/color] [COLOR=#804040][b]&[/b][/color] [COLOR=#008080]chr[/color][COLOR=#804040][b]([/b][/color][COLOR=#ff00ff]34[/color][COLOR=#804040][b])[/b][/color] [COLOR=#804040][b]&[/b][/color] [COLOR=#ff00ff]" tag not found !"[/color]
WScript[COLOR=#804040][b].[/b][/color]Echo[COLOR=#804040][b]([/b][/color]err_msg[COLOR=#804040][b])[/b][/color]
[COLOR=#804040][b]end[/b][/color] [COLOR=#804040][b]if[/b][/color]
[COLOR=#0000ff]' At end release XMLDOM object from memory[/color]
[COLOR=#804040][b]set[/b][/color] xmlDoc [COLOR=#804040][b]=[/b][/color] [COLOR=#804040][b]nothing[/b][/color]