2016-04-05 15 views
1

Ben ben unmarshal istiyorum aşağıdaki XML:unmarshalling XML

<packaging> 
    <depth measurementUnitCode="MMT">1200</depth> 
    <height measurementUnitCode="MMT">1320</height> 
</packaging> 

Ben şu iki yapı içine unmarshal istiyorum:

type Packaging struct { 
    Depth Depth `xml:"depth"` 
    Height Height `xml:"height"` 
} 

type Measurement struct { 
    UnitOfMeasure `xml:"measurementUnitCode,attr"` 
    Value float64 `xml:"???????"` 
} 

UnitOfMeasure iyidir, ama yapamıyorum gerçek Value kümesinin nasıl alınacağını gösterir. Bunu nasıl yaparım?

cevap

2

Eksik belirtim xml:",chardata" olmalıdır.

package main 

import "fmt" 
import "encoding/xml" 

var text = `<data>1.23</data>` 

func main() { 
    data := struct { 
     Value float64 `xml:",chardata"` 
    }{} 
    xml.Unmarshal([]byte(text), &data) 
    fmt.Println(data) 
} 

Playground

İlgili konular