【发布时间】:2011-08-24 18:03:06
【问题描述】:
我不熟悉 scala XML 库。有没有一种简单的方法来查找文档的 DTD?从我目前所见,scala.xml.XML.load 只返回Elem(文档的 XML 内容),而不是 DTD。有没有另一种方法可以专门做到这一点?
附加问题:文档开头的 XML 声明的问题相同。
【问题讨论】:
我不熟悉 scala XML 库。有没有一种简单的方法来查找文档的 DTD?从我目前所见,scala.xml.XML.load 只返回Elem(文档的 XML 内容),而不是 DTD。有没有另一种方法可以专门做到这一点?
附加问题:文档开头的 XML 声明的问题相同。
【问题讨论】:
要获取完整文档,您需要使用ConstructingParser,如下所示:
val cpa = scala.xml.parsing.ConstructingParser.fromSource(src, false)
val doc = cpa.document()
val dtd = doc.dtd
dtd 是DTD 的一个实例,它应该提供您正在寻找的信息。
至于 XML 声明,那是 ProcInstr。您需要查看解析器上的 procInstr 回调,了解如何使用它。
【讨论】: