0

我正在使用 LuaXML 来解析 XML 文件。我正在使用 LuaXML 存储库中的示例来测试库,现在我只是将我的文件通过解析器,如下所示:

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

if f then
    --Gets the entire file content and stores into a string
    xmltext = f:read("*a")
else
    error(e)
end

--Instantiate the object the states the XML file as a Lua table
local xmlhandler = simpleTreeHandler()

--Instantiate the object that parses the XML to a Lua table
local xmlparser = xmlParser(xmlhandler)
xmlparser:parse(xmltext)

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

...dir/LuaXML/xml.lua:170: XMLDecl not at start of document [char=1]

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

 <?xml version="1.0" encoding="utf-8"?>

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

谢谢!

4

1 回答 1

0

事实证明,这个错误是由 BOM 引起的。为了更正它,我在 Notepad++ 中打开了我的 XML 文件,然后执行了以下操作

编码 --> 以 UTF-8 编码。

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

于 2017-03-21T16:07:01.890 回答