了解Golang 中的XML 元素解組
將XML 元素解組到Go 結構中可能很簡單,但某些方面可能很簡單,但某些方面可能很簡單需要澄清。本文介紹了使用屬性和浮點值解組 XML 元素的細節。
結構和解組
要解組 XML,您需要定義對應的 Go 結構體。 XML 元素中的屬性和值會對應到結構中的欄位。例如,以下程式碼定義了表示
<code class="go">type ThingElem struct { Prop int `xml:"prop,attr"` Value float // ??? }</code>
但是,由於 XML 元素包含浮點值,因此 Value 欄位目前缺少其類型。
使用值解組浮點Values
要解組浮點數值,可以使用 Value 註解。這告訴解組器將
<code class="go">type ThingElem struct { Prop int `xml:"prop,attr"` Value float64 // Use float64 for float value }</code>
XMLName 和 Unmarshaling
XMLName 欄位用於指定與結構相關的 XML 元素名稱。通常,只有在決定哪個元素應映射到結構體時存在歧義時,才需要使用 XMLName。在這種情況下,沒有歧義,因此不需要使用 XMLName。
包裝結構
如果您願意,可以將ThingElem 結構包裝在另一個結構中處理根元素:
<code class="go">type ThingWrapper struct { T ThingElem `xml:"thing"` }</code>
此包裝器提供了一種將ThingElem 結構元素分組以方便使用的方法。
範例XML
至為了說明解組過程,以下是您提供的XML 範例:
<code class="xml"><thing prop="1"> 1.23 </thing> <thing prop="2"> 4.56 </thing></code>
透過使用ThingElem 結構並遵循上述指南,您應該可以成功將此XML 解組為Go 結構。
以上是如何在 Golang 中使用屬性和浮點值解組 XML 元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!