当使用带有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?我阅读了文档但找不到解决方案。
答案 0 :(得分:0)
解决方案是使用xmerl_sax_parser:file / 2作为Lars Thorsen在erlang-questions列表中的提议 http://erlang.org/pipermail/erlang-questions/2013-October/075682.html