首頁 > 後端開發 > Golang > 主體

如何在 Golang 中使用屬性和浮點值解組 XML 元素?

Patricia Arquette
發布: 2024-10-24 04:55:02
原創
563 人瀏覽過

How to Unmarshal XML Elements with Attributes and Floating-Point Values in Golang?

了解Golang 中的XML 元素解組

將XML 元素解組到Go 結構中可能很簡單,但某些方面可能很簡單,但某些方面可能很簡單需要澄清。本文介紹了使用屬性和浮點值解組 XML 元素的細節。

結構和解組

要解組 XML,您需要定義對應的 Go 結構體。 XML 元素中的屬性和值會對應到結構中的欄位。例如,以下程式碼定義了表示 的 struct ThingElem。 XML 元素:

<code class="go">type ThingElem struct {
    Prop  int   `xml:"prop,attr"`
    Value float // ???
}</code>
登入後複製

但是,由於 XML 元素包含浮點值,因此 Value 欄位目前缺少其類型。

使用值解組浮點Values

要解組浮點數值,可以使用 Value 註解。這告訴解組器將 中的文字對應到 中。標記到 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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!