Maison > développement back-end > Golang > Comment gérer les attributs XML inconnus lors du démarchage dans Go ?

Comment gérer les attributs XML inconnus lors du démarchage dans Go ?

Linda Hamilton
Libérer: 2024-11-23 12:20:11
original
944 Les gens l'ont consulté

How to Handle Unknown XML Attributes During Unmarshalling in Go?

Désorganisation des attributs XML avec des quantités inconnues à l'aide de Golang

Dans Golang, la désorganisation du XML implique l'analyse des données XML dans une structure, permettant une manipulation pratique des données et la récupération. Cependant, certains scénarios nécessitent la gestion d'attributs XML inattendus, où les noms et valeurs d'attribut peuvent varier selon les instances.

Le package encoding/xml prend en charge la désorganisation des éléments XML avec des attributs dynamiques via xml:",any ,attr". Cette fonctionnalité permet la collecte de tous les attributs dans une tranche de xml.Attr au sein de la structure.

Pour illustrer cette fonctionnalité, considérons le code suivant :

package main

import (
    "encoding/xml"
    "fmt"
)

func main() {
    var v struct {
        Attributes []xml.Attr `xml:",any,attr"`
    }

    data := `<TAG ATTR1="VALUE1" ATTR2="VALUE2" />`

    err := xml.Unmarshal([]byte(data), &v)
    if err != nil {
        panic(err)
    }
    fmt.Println(v.Attributes)
}
Copier après la connexion

Une fois exécuté, ce code afficher ce qui suit :

[{ATTR1 VALUE1} {ATTR2 VALUE2}]
Copier après la connexion

Chaque entrée dans la tranche Attributs représente un attribut, composé de son nom (par exemple, "ATTR1") et de sa valeur (par exemple, "VALUE1").

Cette amélioration permet aux développeurs de travailler avec des documents XML contenant des attributs inconnus ou dynamiques, faisant de Go un outil encore plus polyvalent pour le traitement XML.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal