我有一个 SVG 文档,并且 SVG 样式元素具有属性 xml:space="preserve"。
当尝试使用 Scala 解析此文档时,堆栈跟踪抛出异常 线程“main”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 元素的顶部
这是样式元素 <style type="text/css"xml:space="preserve"><![CDATA[
/* 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 命名空间。
最佳答案
从表面上看,这看起来像是 dautelle(Javolution?)XML 解析器中的一个严重错误。我不太了解 Scala 环境,但似乎解析器已使用标准 Java DocumentBuilderFactory 进行分配,因此您应该能够通过更改类路径来切换到不同的 XML 解析器。
关于java - 使用 Scala 未定义 SAXParseException 命名空间 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8029496/