xml – 忽略Scala中的DTD规范

前端之家收集整理的这篇文章主要介绍了xml – 忽略Scala中的DTD规范前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想偶尔忽略dtd规范,同时使用Scala解析一个xml文件。我知道这可以很方便地通过java界面完成
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

dbf.setValidating(false);
dbf.setFeature("http://xml.org/sax/features/namespaces",false);
dbf.setFeature("http://xml.org/sax/features/validation",false);
dbf.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar",false);
dbf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd",false);

但是,我不知道如何使用Scala的xml库轻松实现。如果可能,我想继续使用scala xml库,因为它显着更好。

提前致谢!

这适用于我,但这取决于XML解析器的实现。
import scala.xml.Elem
import scala.xml.factory.XMLLoader
import javax.xml.parsers.SAXParser
object MyXML extends XMLLoader[Elem] {
  override def parser: SAXParser = {
    val f = javax.xml.parsers.SAXParserFactory.newInstance()
    f.setNamespaceAware(false)
    f.setFeature("http://apache.org/xml/features/disallow-doctype-decl",true);
    f.newSAXParser()
  }
}

另见this question,这是真的你的问题,但用恶意的方式写道。

猜你在找的XML相关文章