Maison > développement back-end > Golang > Comment créer des éléments XML sans fermer les balises dans Go ?

Comment créer des éléments XML sans fermer les balises dans Go ?

Mary-Kate Olsen
Libérer: 2024-11-19 17:35:02
original
414 Les gens l'ont consulté

How do you create XML elements without closing tags in Go?

Création d'éléments XML sans balises de fermeture

Considérez la structure Go imbriquée suivante :

type TierRequest struct {
    XMLName   xml.Name `xml:"soapenv:Envelope"`
    NsEnv     string   `xml:"xmlns:soapenv,attr"`
    NsType    string   `xml:"xmlns:typ,attr"`
    Header    string   `xml:"soapenv:Header"`

    // TierBody is an empty container with the GetCollectorProfile struct
    Body TierBody `Collectorxml:"typ:GetCollectorProfileRequest"`
}

type TierBody struct {
    GetCollectorProfiles GetCollectorProfile `Collectorxml:"typ:GetCollectorProfileRequest"`
}

type GetCollectorProfile struct {
    Contexts CollectorContext `xml:"typ:Context"`
    Number   int              `xml:"typ:CollectorNumber"`
}

type CollectorContext struct {
    Channel  string `xml:"Channel,attr"`
    Source   string `xml:"Source,attr"`
    Language string `xml:"LanguageCode,attr"`
}
Copier après la connexion

Une fois initialisée et marshalée en utilisant encoding/xml, il produit ce qui suit sortie :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:typ="http:/www.yahoo.com/tp/ets/2008/04/01/collector/types">
  <soapenv:Header></soapenv:Header>
  <soapenv:Body>
    <GetCollectorProfiles>
      <typ:Context Channel="WEB" Source="WEB" LanguageCode="en-CA"></typ:Context>
      <typ:CollectorNumber>50000</typ:CollectorNumber>
    </GetCollectorProfiles>
  </soapenv:Body>
</soapenv:Envelope>
Copier après la connexion

Balises d'élément vides et éléments sans contenu

La distinction entre une balise d'élément vide (par exemple, ) et un élément sans contenu et sans balise de fin (par exemple, ) n'est pas pertinent d'un point de vue XML.

Choisir la forme de balise

Pour contrôler quelle forme de balise est utilisée , traitez les données comme du texte plutôt que comme du XML. Cependant, il n'est généralement pas nécessaire de s'inquiéter de cette distinction, car elle n'a aucune implication pratique.

Note historique

Une recommandation désuète suggère d'utiliser des balises d'éléments vides. uniquement pour les éléments déclarés VIDE. Cependant, cette recommandation concerne principalement l'interopérabilité avec SGML et n'est pas pertinente pour la plupart des applications XML modernes.

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