doulu8847 2016-09-21 03:33
浏览 58

大元素的XML结束标记(Golang)

Is there some type of special encoding behaviour that happens to the closing tag of an element that is really large?

I have a Golang function (simplified) like this:

xmlDec := xml.NewReader(xmlFile)
if tok, err := xmlDec.Token(); err != nil {
    switch case := tok.(type) {
    case xml.StartElement:
    //do things
    case xml.CharData:
    //do things
    case xml.EndElement:
    //do things
    default:
    //do things
    }
}

For xml files of with "reasonably" sized text elements, it does what it's supposed to do. However, if I encounter something like this:

<?xml version="1.0" encoding="UTF-8"?>
<gml:LinearRing>
<gml:coordinates decimal="." cs="," ts=" ">1,1 1,2 1,3 (continues for hundreds of points)</gml:coordinates>
</gml:LinearRing>

The golang xml decoder won't recognize the closing </gml:LinearRing> tag as an EndElement. Of course, this is reproducable on any element type not just gml. Is this a known issue with Golang's xml decoder or perhaps some t? I have noticed that on Vim, if a xml file has a really long element text, Vim seems to not recognize it as a closing tag, color-coding wise.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 BP神经网络控制倒立摆
    • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
    • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
    • ¥30 Unity接入微信SDK 无法开启摄像头
    • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
    • ¥20 cad图纸,chx-3六轴码垛机器人
    • ¥15 移动摄像头专网需要解vlan
    • ¥20 access多表提取相同字段数据并合并
    • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
    • ¥20 Java-Oj-桌布的计算