加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – 忽略Scala中的DTD规范

发布时间:2020-12-16 08:00:32 所属栏目:百科 来源:网络整理
导读:我想偶尔忽略dtd规范,同时使用Scala解析一个xml文件。我知道这可以很方便地通过java界面完成 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();dbf.setValidating(false);dbf.setFeature("http://xml.org/sax/features/namespaces",fals
我想偶尔忽略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,这是真的你的问题,但用恶意的方式写道。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读