我正在使用node.js和SAX模块来解析我的XML文档。
当我找到我正在寻找的节点时,我想阻止(中止)解析器。
我试过了parser.close()
,但我收到了这个错误:
if (this.error) throw this.error
^
Error: Unexpected end
Line: 1
Column: 59
如何在不解析对我没用的文档的其余部分的情况下阻止它?
谢谢
答案 0 :(得分:2)
如果查看SAX模块的代码,可以看到抛出该错误的原因。
https://github.com/isaacs/sax-js/blob/master/lib/sax.js#L585
如果在设置错误后尝试调用parser.write(),则会抛出错误。如果在中间解析中调用parser.close(),则可能会设置错误。
https://github.com/isaacs/sax-js/blob/master/lib/sax.js#L354
在执行parser.close()之后不要调用parser.write(),你应该设置它。