首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python SAX解析器显示XML文件格式不正确

Python SAX解析器显示XML文件格式不正确
EN

Stack Overflow用户
提问于 2009-04-02 06:35:38
回答 4查看 2.3K关注 0票数 0

我从XML文件中去掉了一些我认为不必要的标记。现在,当我试图解析它时,我的SAX解析器抛出一个错误,并指出我的文件不是格式良好的。但是,我知道每个开始标记都有一个结束标记。文件的开始标记有一个指向XML模式的链接。这会不会是造成麻烦的原因?如果是这样,那么我该如何修复它呢?

编辑:我想我找到问题所在了。我的字符数据包含"<“和">”字符,可能来自html标记。解析后,这些字符被转换为"<“和">”字符,这似乎会困扰SAX解析器。有什么方法可以防止这种情况发生吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-04-02 06:38:48

sax解析器是否没有给出它认为格式不好的地方的详细信息?

您是否尝试过将文件加载到XML编辑器中并在那里进行检查?其他XML解析器是否接受它?

无论XML是否格式良好,模式都不应该改变;它很可能会改变它是否有效。有关更多信息,请参阅wikipedia entry for XML well-formedness,或参阅XML specs了解更多细节:)

编辑:要在文本中表示"&“,应将其转义为&amp;

所以:

代码语言:javascript
运行
复制
&lt

应该是

代码语言:javascript
运行
复制
&amp;lt

(假设您确实想要与符号,l,t)。

票数 1
EN

Stack Overflow用户

发布于 2009-04-02 06:42:51

我建议把这些标签放回去,并确保它仍然有效。然后,如果你想把它们拿出来,一次做一个,直到它坏掉。

然而,我质疑去掉它们是否明智。如果它是XML文件,那么您应该更好地理解它。如果它是第三方XML文件,那么您真的不应该摆弄它(直到您更好地理解它:-)。

票数 2
EN

Stack Overflow用户

发布于 2009-04-02 18:32:54

我的第二个建议是尝试使用另一个XML解析器解析它。这应该表明是文档还是解析器出了问题。

此外,实际的错误消息可能会很有用。例如,一个相当常见的问题是xml声明(如果使用,它是可选的)必须是第一件事--它前面甚至不允许有空格。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/708531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档