dongyuxin5353 2019-02-12 14:38
浏览 110
已采纳

如何将嵌套的XML元素解组为字符串数组?

My XML contains an array of predefined elements, but I can't pick up the array. Here is the XML structure:

<?xml version='1.0' encoding='UTF-8'?>
<results preview='0'>
    <meta>
       <fieldOrder>
          <field>values(metric_name)</field>
       </fieldOrder>
    </meta>
    <result offset='0'>
        <field k='values(metric_name)'>
            <value><text>process.cpu.avg</text></value>
            <value><text>process.cpu.last</text></value>
            <value><text>process.cpu.max</text></value>
            <value><text>process.cpu.min</text></value>
            <value><text>process.disk.avg</text></value>
            <value><text>process.disk.last</text></value>
            <value><text>process.disk.max</text></value>
            <value><text>process.disk.min</text></value>
            <value><text>process.ram.avg</text></value>
            <value><text>process.ram.last</text></value>
            <value><text>process.ram.max</text></value>
            <value><text>process.ram.min</text></value>
        </field>
    </result>
</results>

I tried to make a struct that looks like:

type Metrics struct {
    Value []string `xml:">text"`
}

But it gives me empty array at output.

  • 写回答

1条回答 默认 最新

  • 普通网友 2019-02-12 15:23
    关注

    You can use the following struct schema to parse the given XML.

    type Results struct {
        Meta   Meta   `xml:"meta"`
        Result Result `xml:"result"`
    }
    
    type Meta struct {
        FieldOrder FieldOrder `xml:"fieldOrder"`
    }
    
    type FieldOrder struct {
        Fields []string `xml:"field"`
    }
    
    type Result struct {
        Fields []Field `xml:"field"`
    }
    
    type Field struct {
        K      string   `xml:"k,attr"`
        Values []string `xml:"value>text"`
    }
    

    Working example: https://play.golang.org/p/H6EHl_1dPLg

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里