2012-01-18 85 views
0

我使用node.js和SAX模塊來解析我的XML文檔。如何停止解析器?

我想在找到正在查找的節點時阻止(中止)解析器。

我試圖parser.close(),但我得到這個錯誤:

if (this.error) throw this.error 
          ^
Error: Unexpected end 
Line: 1 
Column: 59 

我怎麼能阻止它沒有解析,這是沒有用的我的文檔的其餘部分?

謝謝

回答

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()),你應該設置。