当元素为空时,如何使用xml包将结束标记换行

当元素为空时,如何使用xml包将结束标记换行,xml,go,Xml,Go,我的目标是在元素为空时将结束标记改为新行,并使用Go xml包 此外,我希望在元素为空时,无论嵌套深度如何,都将结束标记缩进到与开始标记相同的深度 go版本go1.15.2达尔文/amd64 想要 <aaa> <bbb> </bbb> </aaa> 此外,我希望结束标记缩进到与开始标记相同的深度,无论嵌套程度如何 <xxx> <aaa> <yyy> <bbb>

我的目标是在元素为空时将结束标记改为新行,并使用Go xml包

此外,我希望在元素为空时,无论嵌套深度如何,都将结束标记缩进到与开始标记相同的深度

go版本go1.15.2达尔文/amd64

想要

<aaa>
  <bbb>
  </bbb>
</aaa>


此外,我希望结束标记缩进到与开始标记相同的深度,无论嵌套程度如何

<xxx> 
  <aaa>
  <yyy>
    <bbb>
    </bbb>
  </yyy>
  </aaa>
</xxx>


有人知道解决方案吗?

根据收到的信息自行解决

保存调用EncodeToken的次数,因为您需要知道缩进多少空格

aaa:=xml.StartElement{Name:xml.Name{Local:“aaa”}
e、 编码令牌(aaa)
碳纳米管++
e、 EncodeToken(aaa.End())
使用保存的计数插入缩进

//插入新行并缩进
c:=“\n”
对于i:=0;i

多谢各位

<aaa>
  <bbb>
</bbb>
</aaa>
<xxx> 
  <aaa>
  <yyy>
    <bbb>
    </bbb>
  </yyy>
  </aaa>
</xxx>