0
<Rights></Rights>
ブロックに複数のエントリを含むxml応答があります。いくつかのフィールドがある。<Name></Name>
フィールドと<Access></Access>
フィールド。xmlの繰り返しフィールドを解析する
<?xml version="1.0" encoding="UTF-8"?>
<SessionInfo>
<SID>000000000000</SID>
<Challenge>1337</Challenge>
<BlockTime>0</BlockTime>
<Rights>
<Name>Dial</Name>
<Access>2</Access>
<Name>App</Name>
<Access>2</Access>
<Name>HomeAuto</Name>
<Access>2</Access>
<Name>BoxAdmin</Name>
<Access>2</Access>
<Name>Phone</Name>
<Access>2</Access>
<Name>NAS</Name>
<Access>2</Access>
</Rights>
</SessionInfo>
これを権利構造に変換したいと考えています。
type sessionInfo struct {
XMLName xml.Name `xml:"SessionInfo"`
SID string `xml:"SID"`
Challenge string `xml:"Challenge"`
BlockTime uint `xml:"BlockTime"`
Rights []rights `xml:"Rights"`
}
type rights struct {
Name string `xml:"Name"`
Access int `xml:"Access"`
}
不幸にも、最後の要素のみを配列に書き込みます。独自のデコーダを作成する必要がなく、Goでこれを行うことは何とかできますか?
<SessionInfo>
<SID>000000000000</SID>
<Challenge>1337</Challenge>
<BlockTime>0</BlockTime>
<Rights>
<Name>NAS</Name>
<Access>2</Access>
</Rights>
</SessionInfo>
あなたがここにこれをテストすることができますため、XML文書のレイアウトにhttps://play.golang.org/p/29I2GPttOz