J'essaie de démasquer du code XML dans une structure avec un type d'interface {}. Cependant, chaque fois que j'essaie de l'exécuter, le code ne ramasse rien du tout. Tous les autres éléments semblent fonctionner correctement, et si je mets le type à string ou à [] byte cela fonctionnera, mais j'en ai besoin pour être plus flexible que ça.Golang unmarshal Attribut XML dans l'interface
L'élément que je suis intéressé est sur la ligne 32 -FloorRefID
https://play.golang.org/p/Ehr8qx1aWf
<?xml version="1.0" encoding="UTF-8"?>
<Locations totalPages="1" currentPage="1" pageSize="25">
<WirelessClientLocation macAddress="00:00:00:00:00:00">
<MapInfo mapHierarchyString="Head office>Ground floor>Store" floorRefId="-1122334455667789">
<Image imageName="floorPlan1.png" />
</MapInfo>
<MapCoordinate x="2850" y="3000" unit="FEET" />
</WirelessClientLocation>
<WirelessClientLocation macAddress="11:11:11:11:11:11">
<MapInfo mapHierarchyString="Head office>Ground floor>Store" floorRefId="-1122334455667789">
<Image imageName="floorPlan1.png" />
</MapInfo>
<MapCoordinate x="10.72" y="76.49" unit="FEET" />
</WirelessClientLocation>
<WirelessClientLocation macAddress="26:cd:96:46:0b:2b">
<MapInfo floorRefId="0" />
<MapCoordinate x="51.52" y="4.2" unit="FEET" />
</WirelessClientLocation>
</Locations>
Pour donner un peu de contexte; Je travaille sur un projet d'intégration avec un fournisseur dans lequel nous recevons parfois les données en XML et parfois en JSON. Je voulais construire quelque chose qui pourrait démembrer la structure pour les deux, plutôt que de dupliquer l'ensemble de la structure. Il a beaucoup de sous-structures ce qui signifie que c'est beaucoup plus de travail pour garder 2 structures qui sont presque identiques à l'exception de cet attribut.
Lorsque nous recevons les données JSON, le champ peut être donné sous la forme d'une chaîne ou d'un nombre.
J'ai lu que vous ne pouvez pas démarshal dans une interface, mais quelqu'un sait-il un moyen de contourner ce problème pour mon scénario?
S'il vous plaît inclure votre code Aller dans la question elle-même plutôt que de lier à elle. – Adrian