使用 Scala 未定义 SAXParseException 命名空间 xml

Posted

技术标签:

【中文标题】使用 Scala 未定义 SAXParseException 命名空间 xml【英文标题】:SAXParseException Namespace xml undefined using Scala 【发布时间】:2011-12-23 04:33:57 【问题描述】:

我有一个 SVG 文档,并且 SVG 样式元素具有属性 xml:space="preserve"。

尝试使用 Scala 解析此文档时,堆栈跟踪会引发异常 线程“主”org.xml.sax.SAXParseException 中的异常:命名空间 xml 未定义 在 com.dautelle.xml.sax.RealtimeParser.parseError(未知来源) 在 com.dautelle.xml.sax.RealtimeParser.processAttribute(未知来源) 在 com.dautelle.xml.sax.RealtimeParser.parseContent(未知来源) 在 com.dautelle.xml.sax.RealtimeParser.parse(未知来源) 在 com.dautelle.xml.sax.XMLReaderImpl.parse(未知来源) 在 javax.xml.parsers.SAXParser.parse(SAXParser.java:395) 在 scala.xml.factory.XMLLoader$class.loadXML(XMLLoader.scala:40) 在 scala.xml.XML$.loadXML(XML.scala:40) 在 scalaapplication11.Main$.main(Main.scala:144) 在 scalaapplication11.Main.main(Main.scala) Java 结果:1

这是 SVG 元素的顶部

这是样式元素

    /* text */
    .titletext  text-anchor:middle;stroke-width:0.3;font-family:sansserif;font-size:12;stroke:black;fill:black;
    .provtext   text-anchor:middle;stroke-width:0.3;font-family:sansserif;font-size:12;stroke:black;fill:black;
    .labeltext  stroke-width:0.1;stroke:black;fill:black;
    .unordered           fill:red; stroke:black; stroke-width:1;fill-opacity:0.90;
    .labeltext

并且我能够使用 Java 的 DocumentBuilderFactory 将 xmlns:jdipNS 属性附加到文档的根目录。但是 xmlns:xml 没有被附加(可能是因为它是标准命名空间)。我不知道如何让 Scala 处理 xml 命名空间。

【问题讨论】:

【参考方案1】:

从表面上看,这看起来像是 dautelle(Javolution?)XML 解析器中的一个严重错误。我不太了解 Scala 环境,但似乎已使用标准 Java DocumentBuilderFactory 分配了解析器,因此您应该能够通过更改类路径来切换到不同的 XML 解析器。

【讨论】:

谢谢。我加载了 Apache 的 Xerces 实现,它解决了这个问题。

以上是关于使用 Scala 未定义 SAXParseException 命名空间 xml的主要内容,如果未能解决你的问题,请参考以下文章

寒假学习进度-1

错误:参数不是函数,未定义

未完成Scala 基础

“未找到编译器镜像中的 scala.runtime”,但在使用 -Xbootclasspath/p:scala-library.jar 启动时工作

Spring可扩展Schema标签

Scala 列表:为啥 IDEA 提示未使用的表达式没有副作用