I wonder if it's possible to add outer tags to a given XML string. For example, to wrap up my XML string with
INPUT:
<My><XML><String>Something Here...</String></XML></My>
OUTPUT:
<OuterTag><My><XML><String>Something Here...</String></XML></My></OuterTag>
I've tried xml.Encoder.EncodeToken(), xml.Encoder.Encode() but it doesn't work out.
I'm asking this because I'd like to wrap up my XML to a SOAP envelope, as Golang doesn't built-in SOAP support.
Any idea is appreciated!
I figured out a way, may not be the best but it works. Simply utilize xml.Encoder.EncodeToken()
The original xml is CharData that implements xml.Token interface. 'OuterTag' is StartElement which also implements xml.Token interface.
encoder := xml.NewEncoder(buf)
outerTag := xml.StartElement {Name: xml.Name{Space:"", Local:"OuterTag"}}
encoder.EncodeToken(outerTag)
defer encoder.EncodeToken(outerTag.End())
encoder.EncodeToken(originalXmlBytes)