我不熟悉scala XML库。有没有一种简单的方法来查找文档的DTD?从我到目前为止看到的情况来看,scala.xml.XML.load
只返回Elem
(文档的XML内容),而不是它的DTD。有没有其他方法可以专门做到这一点?
额外的问题:文档开头的XML声明的相同问题。
答案 0 :(得分:5)
要获取完整文档,您需要使用ConstructingParser,如下所示:
val cpa = scala.xml.parsing.ConstructingParser.fromSource(src, false)
val doc = cpa.document()
val dtd = doc.dtd
dtd
是DTD
的一个实例,它应该提供您正在寻找的信息。
至于XML声明,那是ProcInstr
。您需要查看解析器上的procInstr
回调,了解如何开始使用它。