我被要求編寫一個實用程序來搜索大量XML文件以查找缺少屬性的元素。負責部門不能僅僅在DTD中強制屬性,因爲它會破壞數百個文件。他們想要在幾天/周內手動編輯它們。Scala XML解析器和位置
我在Scala 2.8.1中編寫了一個小命令行工具。我將使用「拉」解析器,以便我可以保持我的代碼功能 - 編程純粹並運行它多線程。
我需要XML事件的位置。 Java 6(javax.xml.stream. XMLStreamReader
)中提供的API具有返回事件行號的方法(getLocation()
)。我可以使用它來編寫消息,通知用戶在哪裏查找缺少的屬性。
我寧願在scala.xml.pull.XMLEventReader
中使用pull語法分析器,但它似乎沒有提供位置信息。
我錯過了什麼嗎?它在Scala API中的其他地方嗎?
可能重複的[如何跟蹤XML元素的源代碼行?](http://stackoverflow.com/questions/4446137/how-to-track-the-source-line-of-an-xml-元素) – 2011-04-19 13:23:57
我很驚訝這個問題的(原始)副本在相關鏈接列表中有多低。我會嘗試編輯它的標題以使其更接近。 – 2011-04-19 13:25:53
呃。我沒有看到我認爲原來的問題是一個完整的XML加載器,而這是關於_pull_ reader的。抱歉。如果可能的話,我會收回我的選票。 – 2011-04-19 13:49:50