LuaXML“XMLDecl not at start document [char=1]”?

我正在使用LuaXML解析一个XML文件。我正在使用LuaXML存储库中找到的示例来测试库,现在我只是像这样将我的文件通过解析器:

local filename =“dir/myxml.xml”
local xmltext =“”
local f,e = io.open(filename,“r”)

如果f然后
 - 获取整个文件内容并存储到字符串中
 xmltext = f:read(“* a”)
否则
 错误(e)
结尾

 - 将XML文件声明为Lua表的对象
local xmlhandler = simpleTreeHandler()

 - 实例化将XML解析为Lua表的对象
local xmlparser = xmlParser(xmlhandler)
xmlparser:parse(xmltext)

对于示例文件和我在网上找到的另一个示例,代码运行得非常好。但是,对于我要解析的文件,我得到以下错误:

...dir/LuaXML/xml.lua:170: XML声明不在文档开头[char=1]

我的理解是XML声明不正确,但XML文件的第一行是:

 ?xml version='1.0' encoding='utf-8'

与示例相同/类似。此外,第一行之前没有空格。

谢谢!

点赞
用户6828515
用户6828515

原来这个错误是由于 BOM 引起的。为了纠正它,我在 Notepad++ 中打开了我的 XML 文件,然后执行了以下操作:

编码 → 以 UTF-8 编码。

当我重新运行我的程序时,没有出现任何错误。

2017-03-21 16:07:01