我想知道是否可以将外部标签添加到给定的XML字符串中。 例如,用
包裹我的XML字符串输入:
<My><XML><String>Something Here...</String></XML></My>
输出:
<OuterTag><My><XML><String>Something Here...</String></XML></My></OuterTag>
我尝试了xml.Encoder.EncodeToken(),xml.Encoder.Encode(),但没有成功。
之所以问这个问题,是因为我希望将XML包装到SOAP信封中,因为Golang不内置SOAP支持。
任何想法都值得赞赏!
答案 0 :(得分:0)
我想出了一种方法,可能不是最好的方法,但是它可行。 只需利用xml.Encoder.EncodeToken()
原始xml是实现xml.Token接口的CharData。 “ OuterTag”是StartElement,它也实现xml.Token接口。
encoder := xml.NewEncoder(buf)
outerTag := xml.StartElement {Name: xml.Name{Space:"", Local:"OuterTag"}}
encoder.EncodeToken(outerTag)
defer encoder.EncodeToken(outerTag.End())
encoder.EncodeToken(originalXmlBytes)