Go で XML を使用するにはどうすればよいですか?

王林
リリース: 2023-05-11 16:04:36
オリジナル
1335 人が閲覧しました

XML は一般的なデータ交換形式です。 Go 言語では、XML を操作するさまざまな方法があります。 Go で XML を使用する方法は次のとおりです。

1. XML パッケージをインポートする

まず、encoding/xml標準ライブラリを Go プログラムにインポートする必要があります。

import "encoding/xml"
ログイン後にコピー

2. XML 構造の作成

Go では、構造を使用して XML データを表現します。例としてサンプル XML を次に示します。

   Harry Potter J.K. Rowling 2005 29.99   Learning XML Erik T. Ray 2003 39.95  
ログイン後にコピー

次の Go 構造を作成してそれを表すことができます:

type Bookstore struct { XMLName xml.Name `xml:"bookstore"` Books []Book `xml:"book"` } type Book struct { XMLName xml.Name `xml:"book"` Category string `xml:"category,attr"` Title string `xml:"title"` Author string `xml:"author"` Year int `xml:"year"` Price float32 `xml:"price"` }
ログイン後にコピー

3. XML を構造に解析します

次に、xml.Unmarshal を使用できます。 ( )関数は XML データを Go 構造に解析します。

xml_data := []byte(`   Harry Potter J.K. Rowling 2005 29.99   Learning XML Erik T. Ray 2003 39.95  `) var bookstore Bookstore err := xml.Unmarshal(xml_data, &bookstore) if err != nil { fmt.Println("error: ", err) return } fmt.Println(bookstore)
ログイン後にコピー

xml.Unmarshal()XML データを構造体に解析し、結果をbookstore変数に保存します。

4. 構造を XML にマーシャリングする

逆に、xml.Marshal()関数を使用して、構造を XML データにマーシャリングすることができます。

bookstore := Bookstore { XMLName: xml.Name{Local: "bookstore"}, Books: []Book{ Book{ Category: "children", Title: "Harry Potter", Author: "J.K. Rowling", Year: 2005, Price: 29.99, }, Book{ Category: "web", Title: "Learning XML", Author: "Erik T. Ray", Year: 2003, Price: 39.95, }, }, } xml_data, err := xml.MarshalIndent(bookstore, "", " ") if err != nil { fmt.Println("error: ", err) } fmt.Printf("%s ", xml_data)
ログイン後にコピー

xml.MarshalIndent()関数は、bookstore構造を XML データにマーシャリングし、結果を変数xml_dataに保存します。最初のパラメータはグループ化される構造、2 番目のパラメータは各行の前で使用されるインデントされた文字列、3 番目のパラメータは各要素間で使用される文字列です。

5. XML 要素の操作

構造内では、XML 名 (など) と XML 属性 (category など) を使用できます。) を構造体フィールドのラベルとして使用します。

type Book struct { XMLName xml.Name `xml:"book"` Category string `xml:"category,attr"` Title string `xml:"title"` Author string `xml:"author"` Year int `xml:"year"` Price int `xml:"price"` }
ログイン後にコピー

XML を解析するとき、構造フィールドの値は XML データに基づいて自動的に設定されます。

6. 概要

Go で XML を使用するには、上記の手順を使用します。まず、encoding/xmlライブラリをインポートし、XML データを表す構造を定義する必要があります。 XML データをこの構造に解析したり、この構造を使用して XML データをマーシャリングしたりできます。 XML 要素を操作するには、構造体フィールド タグで XML 要素の名前と属性を使用する必要があります。

以上がGo で XML を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!