2

当使用带有 xmerl_scan:file 语法错误的 xml 文件时,输出将行号和列号指示为:

1> xmerl_scan:file('failed.xml').
2542- fatal: {endtag_does_not_match,{was,request,should_have_been,http}}
** exception exit: {fatal,{{endtag_does_not_match,{was,request,
                                                   should_have_been,http}},
                           {file,'failed.xml'},
                           {line,77},
                           {col,8}}}

问题是文件 failed.xml 是由很多 ENTITY 组成的,所以原始文件不包含 77 行,在这种情况下调试并不容易。如何转储 xmerl_sacn 真正分析的最终 xml 以调试 xml?是否有任何选项可以传递给 xmerl_scan ?我阅读了文档,但找不到解决方案。

4

1 回答 1

0

一个解决方案是使用 xmerl_sax_parser:file/2 作为 Lars Thorsen 在 erlang-questions 列表中提出的建议 http://erlang.org/pipermail/erlang-questions/2013-October/075682.html

于 2013-10-21T09:57:39.607 回答