2011-05-13 47 views
9

我不熟悉scala XML庫。有沒有簡單的方法來查找文檔的DTD?從目前爲止我所看到的,scala.xml.XML.load只返回Elem(文檔的XML內容),但不是DTD。還有另外一種方法可以專門做到嗎?Scala:在文件中查找DTD聲明

附加問題:文檔開始處的XML聲明的相同問題。

回答

5

要獲得完整的文檔,你會想用ConstructingParser,就像這樣:

val cpa = scala.xml.parsing.ConstructingParser.fromSource(src, false) 
val doc = cpa.document() 
val dtd = doc.dtd 

dtdDTD的一個實例,應提供你正在尋找的信息。

至於XML聲明,這是一個ProcInstr。您需要查看解析器上的procInstr回調函數,以瞭解如何使用該函數。

+0

這就是我一直在尋找的!非常感謝。 – Nicolas 2011-05-13 16:43:12