ich eine XML-Struktur wie diese:Golang: Analysieren sowohl Wert XML-Elements und Attribute für Gruppen
<RootLevel status="new" timestamp="1383259529" xmlns="http://someplace.com">
<Item active="1" status="new" itemid="451254">
<SubItem active="1" recent="false" usertext="No idea" id="78421">
<SubItemField active="1" ready="no" type="1">1.4</SubItemField>
<SubItemField active="1" ready="yes" type="2">4.5</SubItemField>
</SubItem>
</Item>
</RootLevel>
Ich weiß nicht, wie ich beiden Werte sammeln kann und Attribute für die SubItemField Elemente, mein Code so etwas wie:
type RootLEvel struct {
XMLName xml.Name `xml:"RootLevel"`
...
Item []Item
}
type Item struct {
...
SubItem []SubItem
}
type SubItem struct {
...
SubItemField []SubItemField
}
type SubItemField struct {
Active bool `xml:"active,attr"`
Ready string `xml:"ready,attr"`
}
brauche ich beide Attribute und Werte, aber der einzige Weg, um Werte zu erhalten, die ich kenne, ist verwenden nur
SubItemField []float32
anstelle meines benutzerdefinierten Typs. Ich benutze xml.Unmarshal BTW.
Irgendeine Idee?
Danke.
Von den Godocs für encoding/xml: '- ein Feld mit Tag", chardata "wird als Zeichendaten geschrieben, nicht als XML-Element. –
Um Verwirrung zu vermeiden und den @SamWhited-Kommentar zu klären ...", chardata "bezieht sich einfach auf die internen Zeichendaten des XML-Elements. Daher werden beim Schreiben in XML die Daten einfach als Zeichen in das Element geschrieben, und beim Lesen aus dem XML-Code wird es einfach als Zeichen gelesen. Der Datentyp, aus dem geschrieben oder gelesen wird, spielt keine Rolle, solange die Daten in diesen Typ umgewandelt werden können. –
Danke, im Nachhinein war das verwirrend. Ich habe nur versucht, darauf hinzuweisen, dass "es gibt keine Dokumentation" war eine falsche Aussage, ist es in der Codierung/XML-Paket dokumentiert. –