Scala:在文件中查找DTD声明

时间:2011-05-13 08:18:06

标签: xml scala dtd

我不熟悉scala XML库。有没有一种简单的方法来查找文档的DTD?从我到目前为止看到的情况来看,scala.xml.XML.load只返回Elem(文档的XML内容),而不是它的DTD。有没有其他方法可以专门做到这一点?

额外的问题:文档开头的XML声明的相同问题。

1 个答案:

答案 0 :(得分:5)

要获取完整文档,您需要使用ConstructingParser,如下所示:

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

dtdDTD的一个实例,它应该提供您正在寻找的信息。

至于XML声明,那是ProcInstr。您需要查看解析器上的procInstr回调,了解如何开始使用它。