Attribut et valeur XML Golang
Je n'arrive pas à comprendre pourquoi cela ne fonctionne pas
type HostProperties struct {
XMLName xml.Name `xml:HostProperties"`
Info []InfoList `xml:"tag"`
}
type InfoList struct {
HostEnd string `xml:",chardata"`
PatchSummary string `xml:",chardata"`
CPE1 string `xml:",chardata"`
CPE0 string `xml:",chardata"`
SystemType string `xml:",chardata"`
OperatingSystem string `xml:",chardata"`
MacAddress string `xml:",chardata"`
Traceroute string `xml:",chardata"`
IP string `xml:",chardata"`
FQDN string `xml:",chardata"`
HostStart string `xml:",chardata"`
}
<HostProperties>
<tag name="HOST_END">Thu Feb 20 12:38:24 2014</tag>
<tag name="patch-summary-total-cves">4</tag>
<tag name="cpe-1">cpe:/a:openbsd:openssh:5.6 -> OpenBSD OpenSSH 5.6</tag>
<tag name="cpe-0">cpe:/o:vmware:esx_server</tag>
<tag name="system-type">hypervisor</tag>
<tag name="operating-system">VMware ESXi</tag>
<tag name="mac-address">00:00:00:00:00:00</tag>
<tag name="traceroute-hop-0">172.28.28.29</tag>
<tag name="host-ip">172.28.28.29</tag>
<tag name="host-fqdn">foobar.com</tag>
<tag name="HOST_START">Thu Feb 20 12:30:14 2014</tag>
</HostProperties>
Résultats
{HostEnd:172.28.28.29 PatchSummary: CPE1: CPE0: SystemType: OperatingSystem: MacAddress: Traceroute: IP: FQDN: HostStart:}
Il crée un groupe de nouvelles tranches avec seulement le premier élément rempli et même alors, il est le mauvais élément. Ce n'est pas de remplir les autres variables. Le reste du fichier semble analyser fine, ne peuvent tout simplement pas comprendre cette partie.
source d'informationauteur b00stfr3ak
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas que vous pouvez faire de l'analyse syntaxique XML comme ça. Ici, c'est le meilleur que j'ai pu en sortir (l'exécuter sur l'aire de jeux)
Si vous voulez vraiment que
InfoList
structure, vous aurez à courir à travers laTags
et de le remplir. Je serais probablement juste de le coller dans unmap[string]string
même si, comme ceLa balise
xml:",chardata"
permettra de sélectionner le courant de l'élément de données de caractère, comme vous voulez, mais seulement pour le premier champ avec cette balise. C'est pourquoi vous avez obtenu les résultats que vous avez observé.Pour le XML, je vous suggère de décodage dans les catégories suivantes:
De ne pas séparer automatiquement les différents nommé tags dans des champs séparés pour vous si: vous aurez besoin de le faire après le traitement du XML.