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

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

如何在 Go xml 結(jié)構(gòu)標(biāo)記中表示替代項(xiàng)

如何在 Go xml 結(jié)構(gòu)標(biāo)記中表示替代項(xiàng)

Go
縹緲止盈 2021-12-20 19:22:28
我正在嘗試編寫(xiě)適當(dāng)?shù)慕Y(jié)構(gòu)標(biāo)記集來(lái)解析UCUM的XML 版本。以下是unit標(biāo)簽的兩個(gè)示例:<unit Code="deg" CODE="DEG" isMetric="no" class="iso1000">   <name>degree</name>   <printSymbol>&#176;</printSymbol>   <property>plane angle</property>   <value Unit="[pi].rad/360" UNIT="[PI].RAD/360" value="2">2</value></unit><unit Code="[degF]" CODE="[DEGF]" isMetric="no" isSpecial="yes" class="heat">   <name>degree Fahrenheit</name>   <printSymbol>&#176;F</printSymbol>   <property>temperature</property>   <value Unit="degf(5 K/9)" UNIT="DEGF(5 K/9)">      <function name="degF" value="5" Unit="K/9"/>   </value></unit>棘手的部分是value標(biāo)簽的內(nèi)容,它可以是字符串(我用字符串屬性表示)或函數(shù)(需要自己的結(jié)構(gòu))。這是我到目前為止所得到的:type Unit struct {    Code             string `xml:Code,attr`    CodeCaps         string `xml:CODE,attr`    IsMetric         bool   `xml:isMetric,attr,omitempty`    IsSpecial        bool   `xml:isEmptySpecial,attr,omitempty`    Class            string `xml:class,attr`    Name             string `xml:name`    PrintSymbol      string `xml:printSymbol,chardata`    DimensionTypeKey string `xml:property,chardata`    Value            struct {        Unit       string `xml:Unit,attr`        UnitCaps   string `xml:UNIT,attr`        Value      string `xml:Value,attr`        PrintValue string `xml:,chardata`        Function   struct { ... }    } `xml:value`}如何使用結(jié)構(gòu)標(biāo)記準(zhǔn)確描述此 XML?
查看完整描述

1 回答

?
繁星點(diǎn)點(diǎn)滴滴

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

你的代碼幾乎可以工作了;這是固定版本。


基本上你需要進(jìn)行以下調(diào)整:


在 struct 標(biāo)簽中,值(xml:前綴后的位)必須用雙引號(hào)括起來(lái),如下所示:


`xml:"foo,attr"`

,chardata當(dāng)您只想獲取元素標(biāo)簽之間的任何內(nèi)容時(shí),無(wú)需指定該位。


要提取<function>元素,只需為 is 提供一個(gè)數(shù)據(jù)類(lèi)型:如果它存在或不存在,解析器將提取它。


要判斷是否有<function>,您可以檢查該P(yáng)rintValue字段的值:如果不是全空白,則沒(méi)有<function>元素;否則有。


或者,定義一個(gè)單獨(dú)的struct數(shù)據(jù)類(lèi)型來(lái)解組這個(gè)元素,并將它的字段定義為指向該類(lèi)型的指針,如


type Function struct { ... }

...

Function *Function `xml:"function"`

這樣,如果沒(méi)有<function>元素,則該字段的值將為nil,否則它將指向堆分配的Function實(shí)例。


查看完整回答
反對(duì) 回復(fù) 2021-12-20
  • 1 回答
  • 0 關(guān)注
  • 173 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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