doulandai0641 2017-11-29 18:45
浏览 168
已采纳

如何通过Golang解码具有特殊字符的xml

For example, if the xml is simple:

<p>this is a test xml</p>

Then I can use struct like this:

type Dummy struct { XMLName xml.Name `xml:"p"` Value string `xml:",chardata"` }

But if the xml has special character, like

<p>this is a test < xml & </p>

I used the same struct and it caused error, and it seems nothing to do with struct, because I use interface{} and it caused error the same.

I read the document of package "encoding/xml" but cannot find the right way.

Does anyone know how to do this?

  • 写回答

2条回答 默认 最新

  • dongrong6235 2017-11-30 07:09
    关注

    This XML is not well-formed. It contain syntax error because character & has a special meaning. If you need to insert if as a symbol itself change it with &amp;. After parsing it will be replaced back to usual &.

    The same rule applies to < - it should be replaced with &lt;.

      <p>this is a test <gt; xml &amp; </p>
    

    This is the general rule for all XML parsers and encoders. Any other XML system awaits similar behavior.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部