Ich kann nicht scheinen, um herauszufinden, warum dies nicht funktioniertGolang XML-Attribut und Wert
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>
Ergebnisse
{HostEnd:172.28.28.29 PatchSummary: CPE1: CPE0: SystemType: OperatingSystem: MacAddress: Traceroute: IP: FQDN: HostStart:}
Es schafft eine Reihe von neuen Scheiben nur mit dem ersten Element ausgefüllt und selbst dann ist es das falsche Element. Es füllt die anderen Variablen nicht aus. Der Rest der Datei scheint gut zu parsen, kann einfach diesen Teil nicht herausfinden.
Sieht aus wie es ist fast da, aber es setzt jeden Wert auf seine eigene Linie. Ich mag die Idee der map [string] string. Wie würde ich darüber gehen? Oder wo könnte ich hinschauen? Wirklich neu zu gehen. '{Key: HOST_END Wert: Do Feb 20 12:38:24 2014}' '{Key: patch-summary-total-cves Wert: 4}' – b00stfr3ak
Ich habe ein wenig hinzugefügt, wie man die Daten in eine Karte einfügt [Spielplatz] (http://play.golang.org/p/nAeoGIbB7R) –
Danke, das hat funktioniert. Ich muss jedoch überdenken, wie ich die ganze Datei machen werde. Möglicherweise müssen Sie die Datei streamen, um die Daten in übereinstimmenden Blöcken zu erhalten. – b00stfr3ak