Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
cotiso_hanganu
Partner - Creator III
Partner - Creator III

Guesing the ScrambledHexCode for XML %KeyFieldNames

Hi there,

I am trying to read some crazy XML files and it would realy help to identify the unique code Qlik's XML wizard is creating for each %Key_Field, but WITHOUT USING THE QLIK WIZARD !

Is there anyone in Qlik able to explain me the aglorithm used by the wizard to create the Hex codes like : %Key_AuditFile_87E72D7CCDAC9B8E

I assume is a kind of Hash applied some parts extracted from the XML, but cannot figure what.

In other words, I need to "gues" 87E72D7CCDAC9B8E while parsing some how the XML, but without using the Qlik wizard.
 
Tried with
Load * from File.XML (XMLsimple,table is XXX);
, but Qlik returns an error:

Load all (*) is not allowed in this file type

Labels (1)
2 Replies
marcus_sommer

Should there be no hint from anyone you may consider a reverse approach by loading very simplified (dummy) xml-files with file/table/field-names of 'A' or  'B' or 1/2/3 and looking what happens especially if you change 'A' to 'B' or similar. Maybe any pattern is noticeable and/or you could compare the results with various common hash-algorithm.

Depending on the complexity of the xml-structures and your prediction of the containing data-set you may pre-load the file as a simple txt-file and applying various string-functions to detect the relevant table/field-names which you could use within a following final-load.

Ke_Sg
Contributor
Contributor

Hi,

It seems Qlik uses RipeMD-160 to hash the XML table name under the hood.

I have this example generated by the wizard :

LOAD %Key_Placemark_AA84FB6C10E27BB6
FROM [file.kml](XmlSimple, table is [kml/Document/Placemark]);

Using RipeMD-160 to hash "kml/Document/Placemark" return aa84fb6c10e27bb67290042a81d95e6be49054ae.

The file name, path, or file content doesn't matter. Qlikview and Qliksense will generate the same hash for the same XML table name.

However, I'm not sure it is possible to hash a string using RipeMD-160 in a pure Qlikview or Qliksense script.