エンコーディング/xml パッケージによって提供される関数を使用して、XML をエンコードおよびデコードし、インデント形式を設定します。

PHPz
リリース: 2023-07-25 11:37:31
オリジナル
1161 人が閲覧しました

encoding/xml パッケージを使用して XML をエンコードおよびデコードし、インデント形式を設定する

Go 言語では、encoding/xml パッケージは XML をエンコードおよびデコードするための一連の関数を提供します。これらの関数は、Go 言語の構造データを XML 形式のデータに変換するのに役立ち、XML 形式のデータを Go 言語の構造データに変換することもできます。同時に、インデント形式を設定することで、生成された XML を読みやすくすることもできます。

XML をエンコードおよびデコードする前に、まず、変換するデータを表す構造を定義する必要があります。たとえば、次のように Person 構造を定義します。

type Person struct {
    Name    string `xml:"name"`
    Age     int    `xml:"age"`
    Address string `xml:"address"`
}
ログイン後にコピー

次に、xml.MarshalIndent 関数を使用して構造を XML 文字列にエンコードし、インデント形式を設定します。例は次のとおりです。

func main() {
    p := &Person{
        Name:    "Alice",
        Age:     25,
        Address: "123 Main St",
    }
    
    xmlData, err := xml.MarshalIndent(p, "", "    ")
    
    if err != nil {
        fmt.Println("XML encoding error:", err)
        return
    }
    
    fmt.Println(string(xmlData))
}
ログイン後にコピー

上の例では、xml.MarshalIndent 関数を使用して Person 構造を XML 形式のデータにエンコードし、インデント形式を 4 つのスペースに設定します。最後に、fmt.Println 関数を使用して、生成された XML 文字列を出力します。

出力結果は次のとおりです。

<Person>
    <name>Alice</name>
    <age>25</age>
    <address>123 Main St</address>
</Person>
ログイン後にコピー

インデント形式を設定すると、生成された XML データが読みやすく、理解しやすくなります。

エンコードに加えて、xml.Unmarshal 関数を使用して、XML 形式のデータを Go 言語の構造データにデコードすることもできます。例は次のとおりです。

func main() {
    xmlData := []byte(`
        <Person>
            <name>Alice</name>
            <age>25</age>
            <address>123 Main St</address>
        </Person>
    `)
    
    var p Person
    
    err := xml.Unmarshal(xmlData, &p)
    
    if err != nil {
        fmt.Println("XML decoding error:", err)
        return
    }
    
    fmt.Println("Name:", p.Name)
    fmt.Println("Age:", p.Age)
    fmt.Println("Address:", p.Address)
}
ログイン後にコピー

上記の例では、まず XML 形式のデータを定義し、次に xml.Unmarshal 関数を使用して XML データを Person 構造データにデコードします。最後に、fmt.Println 関数を使用してデコードされたデータを印刷します。

出力結果は次のとおりです。

Name: Alice
Age: 25
Address: 123 Main St
ログイン後にコピー

encoding/xml パッケージによって提供される関数を使用すると、XML を簡単にエンコードおよびデコードでき、生成される XML を作成するためのインデント形式を設定できます。 XMLをより美しく、より見やすくします。これらの関数は、XML データを処理するためのシンプルかつ強力な方法を提供します。

以上がエンコーディング/xml パッケージによって提供される関数を使用して、XML をエンコードおよびデコードし、インデント形式を設定します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート