我正在使用go的encoding/xml包来解析一个XML文件。解析文件时,我得到的错误如下:
XML syntax error on line 16: invalid character entity ü但是xml文件引用了dtd:
<!DOCTYPE dblp SYSTEM "dblp.dtd">dtd本身包含了该实体的定义:
<!ENTITY uuml "ü" ><!-- small u, dieresis or umlaut mark -->有没有办法强迫Go的xml解析器解析DTD,我是在某个地方遗漏了什么,还是注定要使用第三方xml解析器?
发布于 2015-01-23 10:55:38
可能不是你想听到的答案..。
您可以使用Entity-field of http://golang.org/pkg/encoding/xml/#Decoder。不幸的是,我不知道从dtd自动生成这样的实体映射的方法。但这应该是从dtd中直接提取出来的。如果dtd不改变,这对go generate来说可能是一项不错的任务。
如果列表(如果实体是固定的(并且足够小),我将硬编码实体映射。
https://stackoverflow.com/questions/28107960
复制相似问题