1 回答

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í)例。
- 1 回答
- 0 關(guān)注
- 173 瀏覽
添加回答
舉報(bào)