解析某些XML文件时发生LuaXML错误

解析某些XML文件时发生LuaXML错误,xml,parsing,lua,Xml,Parsing,Lua,我在尝试用XML文件解析目录时遇到了一个特殊的错误 无论出于何种原因,有些文件解析得很好,我没有任何问题,但无论出于何种原因,我在尝试解析某些XML文件时收到此错误: LuaXML“XMLDecl不在文档的开头[char=1]” 我看了另一篇有同样问题的文章,我试着按照他的修正将编码改为编码,不管怎样,错误似乎仍然存在 我检查了试图解析时出现错误的文件,我不知道它们的头有什么问题,因为它们似乎与正在工作的头相同 下面是我的解析代码的样子: local filename = "fdsqwe.xml

我在尝试用XML文件解析目录时遇到了一个特殊的错误

无论出于何种原因,有些文件解析得很好,我没有任何问题,但无论出于何种原因,我在尝试解析某些XML文件时收到此错误:

LuaXML“XMLDecl不在文档的开头[char=1]”

我看了另一篇有同样问题的文章,我试着按照他的修正将编码改为编码,不管怎样,错误似乎仍然存在

我检查了试图解析时出现错误的文件,我不知道它们的头有什么问题,因为它们似乎与正在工作的头相同

下面是我的解析代码的样子:

local filename = "fdsqwe.xml"
local xmltext = ""
local f, e = io.open(filename,"r")

if f then
  xmltext = f:read("*a")
else
  error(e)
end

local xmlhandler = simpleTreeHandler()
local xmlparser = xmlParser(xmlhandler)
xmlparser:parse(xmltext)
下面是XML文件的标题:

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


任何帮助或潜在的见解都将不胜感激

您是更改了文件的编码还是仅更改了XML头中的条目?你能共享这样一个文件吗?不幸的是我不能共享这个文件,我相信我只是更改了标题。我认为这些XML文档只是格式不正确或编码不正确,因为它们是许多XML文件中唯一两个出现此错误的文件。您不能通过更改标题中的编码属性来更改文件的编码。下载notepad++,打开文件,将其转换为utf-8,然后重试。另外,请确保打印这些文件的xmltext字符串,并从shell提示符(而不是Lua提示符)检查其内容。请尝试
hextdump-C fdsqwe.xml | head-n 10
。比较此输出的前几行中的工作文件和非工作文件。