第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

go - 標(biāo)簽中的屬性/隱藏父標(biāo)簽:SOAP 信封

go - 標(biāo)簽中的屬性/隱藏父標(biāo)簽:SOAP 信封

Go
呼如林 2023-04-24 16:28:35
我正在嘗試將 Go 結(jié)構(gòu)編碼為 Soap-Envelope (xml)。到目前為止,除了一個(gè)小錯(cuò)誤外,皂體看起來(lái)還不錯(cuò)。雖然我的信封應(yīng)該是這樣的:<SOAP-ENV:Body>    <q3:WMLS_AddToStore xmlns:q3="http://www.foo.abr/message/120">        <WMLtypeIn>param1</WMLtypeIn>        <XMLin>param2</XMLin>        <OptionsIn>param3</OptionsIn>        <CapabilitiesIn>param4</CapabilitiesIn>    </q3:WMLS_AddToStore></SOAP-ENV:Body>我的代碼正在生成這個(gè):<SOAP-ENV:Body>  <q1:WMLS_AddToStore xmlns:q1="http://www.foo.abr/message/120">    <ActionName>      <WMLtypeIn>param1</WMLtypeIn>      <XMLin>param2</XMLin>      <OptionsIn>param3</OptionsIn>      <CapabilitiesIn>param4</CapabilitiesIn>    </ActionName>  </q1:WMLS_AddToStore></SOAP-ENV:Body>注意 ActionName 標(biāo)記。我想:刪除此 ActionName 標(biāo)簽或者將其重命名為q3:WMLS_AddToStore(我可以這樣做),但隨后我需要xmlns:q1向其添加屬性。代碼:type Message interface{}type OperationWMLS_AddToStoreSoapIn struct {WMLtypeIn      string `xml:"WMLtypeIn,omitempty"`XMLin          string `xml:"XMLin,omitempty"`OptionsIn      string `xml:"OptionsIn,omitempty"`CapabilitiesIn string `xml:"CapabilitiesIn,omitempty"`}type Body struct {XMLName    xml.Name     `xml:"SOAP-ENV:Body"`ActionName temperature `xml:"q1:WMLS_AddToStore"`}type Action struct {ActionName Message `xml:",innerxml"`XMLAttr    string  `xml:"xmlns:q1,attr"`}func main() {in := struct {    OperationWMLS_AddToStoreSoapIn `xml:"tns:WMLS_AddToStore"`}{    OperationWMLS_AddToStoreSoapIn{        "WMLtypeIn",        "XMLin",        "OptionsIn",        "CapabilitiesIn",    },}x := &Body{    ActionName: Action{        ActionName: in,        XMLAttr: "http://www.foo.abr/message/120",        },    }enc := xml.NewEncoder(os.Stdout)enc.Indent("", "  ")if err := enc.Encode(x); err != nil {    fmt.Printf("error: %v\n", err)}}這是游樂(lè)場(chǎng): https://play.golang.org/p/fWl-G2d8ME2
查看完整描述

1 回答

?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊

您如何看待這樣重寫您的代碼(https://play.golang.org/p/Kf5VpQeuThx):

package main


import (

    "encoding/xml"

    "fmt"

    "os"

)


type s2 struct {

    XMLName        xml.Name `xml:"q3:WMLS_AddToStore"`

    XMLAttr        string   `xml:"xmlns:q3,attr"`

    WMLtypeIn      string   `xml:"WMLtypeIn,omitempty" json:"WMLtypeIn,omitempty" yaml:"WMLtypeIn,omitempty"`

    XMLin          string   `xml:"XMLin,omitempty" json:"XMLin,omitempty" yaml:"XMLin,omitempty"`

    OptionsIn      string   `xml:"OptionsIn,omitempty" json:"OptionsIn,omitempty" yaml:"OptionsIn,omitempty"`

    CapabilitiesIn string   `xml:"CapabilitiesIn,omitempty" json:"CapabilitiesIn,omitempty" yaml:"CapabilitiesIn,omitempty"`

}


type s1 struct {

    XMLName xml.Name `xml:"SOAP-ENV:Body"`

    S2      s2

}


func main() {

    x := &s1{

        S2: s2{

            XMLAttr:        "http://www.foo.abr/message/120",

            WMLtypeIn:      "WMLtypeIn",

            XMLin:          "XMLin",

            OptionsIn:      "OptionsIn",

            CapabilitiesIn: "CapabilitiesIn",

        },

    }


    enc := xml.NewEncoder(os.Stdout)

    enc.Indent("", "  ")

    if err := enc.Encode(x); err != nil {

        fmt.Printf("error: %v\n", err)

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-04-24
  • 1 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)