meine Datenquelle ist eine XML-Datei. Ein Attribut beinhaltet entweder eine Zahl oder den String “NaN”.
Wenn ich das entsprechende Feld in meine Tabelle aufnehme, wird statt “NaN” immer eine 0 ausgegeben. Der von List & Labels ermittelte Feldtyp ist fälschlicherweise Number (statt String). Offensichtlich schaut sich der Parser nicht alle Werte an, um den Feldtyp zu bestimmen (vielleicht sogar nur den ersten).
Weiß jemand, wie ich verhindern kann, dass “NaN” zu “0” wird?
Danke,
Christian
tmetternich
(combit Support - Thomas Metternich)
2
Hallo Christian,
vielen Dank für Ihren Beitrag.
Entweder Sie setzen hier die Eigenschaften „FlattenStructure“ und „ParseFirstElementOnly“ des Providers jeweils auf „false“, oder Sie verwenden das spezielle lltype-Attribut in der XML Quelle. Beispiel:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
combit GmbH
Wild
John
1
Cash
William
Cash
0
tmetternich
(combit Support - Thomas Metternich)
6
Hallo Christian,
vielen Dank für Ihren Beitrag.
NaN ist ein gültiger Double-Wert, daher wird die Spalte als Zahl erkannt. List & Label kennt das Konzept von NaN allerdings nicht, daher wird die Zahl zu 0 konvertiert wie es die meisten Parser machen, die NaN nicht kennen. Eine Alternative wäre NULL zu verwenden, auch das gibt es, wir haben uns vor Jahren aber für “0” entschieden.
Sie können aber den AutoDefineField oder den PreParseXPathNavigator-Event des Providers verwenden, um den Typ zu ändern: