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 行が含まれていないことです。この場合、デバッグは容易ではありません。xml をデバッグするために xmerl_sacn によって実際に分析された最終的な xml をダンプする方法は? xmerl_scan に渡すオプションはありますか? ドキュメントを読みましたが、解決策が見つかりません。

4

1 に答える 1

0

解決策は、erlang-questions リストhttp://erlang.org/pipermail/erlang-questions/2013-October/075682.htmlで Lars Thorsen が提案した xmerl_sax_parser:file/2 を使用することです 。

于 2013-10-21T09:57:39.607 に答える