小编Ray*_*nes的帖子

Golang 将 XML 属性解组到接口中

我正在尝试将一些 XML 解组到具有 interface{} 类型的结构中。然而,每当我尝试运行它时,代码根本不会获取任何内容。所有其他元素似乎都工作正常,如果我将类型设置为 string 或 []byte 它将工作,但是我需要它比这更灵活。

我感兴趣的元素位于第 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&gt;Ground floor&gt;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&gt;Ground floor&gt;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>
Run Code Online (Sandbox Code Playgroud)

提供一些背景信息;我正在开发一个与供应商集成的项目,其中有时我们接收 XML 格式的数据,有时接收 JSON 格式的数据。我想构建一些可以解组两者结构的东西,而不是复制结构集。它有许多子结构,这意味着要保持两个几乎相同的结构(除了这一属性)需要做更多的工作。

当我们收到 JSON 数据时,该字段可以以字符串或数字形式给出。

我读过您无法解组到接口中,但是有人知道针对我的场景解决此问题的方法吗?

xml go unmarshalling

3
推荐指数
1
解决办法
3487
查看次数

标签 统计

go ×1

unmarshalling ×1

xml ×1