Maison > développement back-end > Golang > le corps du texte

modification XML Golang

WBOY
Libérer: 2023-05-16 10:46:07
original
670 Les gens l'ont consulté

Golang est un langage de programmation rapide et efficace qui prend en charge plusieurs formats de données et protocoles. XML est un format de données largement utilisé. Cet article explique comment modifier les fichiers XML via Golang.

Tout d'abord, nous devons analyser le fichier XML à l'aide du package "xml" de la bibliothèque standard. Voici un exemple basique :

package main

import (
    "encoding/xml"
    "fmt"
    "io/ioutil"
)

func main() {
    type Person struct {
        Name string `xml:"name"`
        Age  int    `xml:"age"`
    }

    file, err := ioutil.ReadFile("person.xml")
    if err != nil {
        fmt.Println("Error reading file:", err)
        return
    }

    var person Person
    err = xml.Unmarshal(file, &person)
    if err != nil {
        fmt.Println("Error unmarshalling XML:", err)
        return
    }

    fmt.Println("Name:", person.Name)
    fmt.Println("Age:", person.Age)
}
Copier après la connexion

En appelant la fonction "ReadFile" dans le package "ioutil", on peut lire les données XML dans le fichier. Ensuite, utilisez la fonction "xml.Unmarshal" pour analyser le fichier XML et stocker les résultats dans une structure personnalisée. Dans cet exemple, nous définissons une structure « Personne », qui contient les champs « Nom » et « Âge », qui correspondent respectivement aux éléments « Nom » et « Âge » dans le fichier XML.

Si le fichier XML est analysé avec succès, les champs de la structure sont accessibles et utilisés pour d'autres opérations.

Ensuite, nous nous concentrerons sur la façon de modifier les fichiers XML. Pour modifier un fichier XML, nous devons d'abord analyser le fichier XML d'origine. Ensuite, mettez à jour le fichier XML en modifiant les valeurs des champs dans la structure. Enfin, le XML mis à jour est sérialisé dans un nouveau fichier.

L'exemple suivant montre comment modifier un fichier XML dans Golang :

package main

import (
    "encoding/xml"
    "fmt"
    "io/ioutil"
    "os"
)

func main() {
    type Person struct {
        Name string `xml:"name"`
        Age  int    `xml:"age"`
    }

    // Read the original XML file
    file, err := ioutil.ReadFile("person.xml")
    if err != nil {
        fmt.Println("Error reading file:", err)
        return
    }

    // Unmarshal the XML data into a structure
    var person Person
    err = xml.Unmarshal(file, &person)
    if err != nil {
        fmt.Println("Error unmarshalling XML:", err)
        return
    }

    // Modify the structure with the desired changes
    person.Name = "New Name"
    person.Age = 40

    // Marshal the updated structure back into XML
    output, err := xml.MarshalIndent(person, "", "  ")
    if err != nil {
        fmt.Println("Error marshalling XML:", err)
        return
    }

    // Write the updated XML to a new file
    err = ioutil.WriteFile("new_person.xml", []byte(xml.Header+string(output)), os.ModePerm)
    if err != nil {
        fmt.Println("Error writing file:", err)
        return
    }

    fmt.Println("XML file updated successfully!")
}
Copier après la connexion

Le code ci-dessus analyse le fichier XML d'origine et le stocke dans une structure "Personne" personnalisée. Par la suite, nous modifions les valeurs des champs dans la structure et les utilisons pour mettre à jour le fichier XML. Lors de la sérialisation de la structure en XML, nous utilisons la fonction "xml.MarshalIndent" pour la formater. Enfin, nous utilisons "ioutil.WriteFile" pour écrire les données XML mises à jour dans un nouveau fichier sur le disque dur.

Pour résumer, grâce aux exemples ci-dessus, nous pouvons comprendre comment utiliser Golang pour modifier des fichiers XML, y compris la lecture, l'analyse, la mise à jour et l'écriture de fichiers XML. En pratique, nous pouvons utiliser des méthodes similaires pour traiter des fichiers contenant des données XML et les modifier selon nos propres besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!