我无法使用伴随对象创建表示 XML 解析文档的类。
这是该类的代码:
package models
import javax.xml.bind.Element
import scala.xml.Elem
import javax.xml.validation.SchemaFactory
import javax.xml.transform.stream.StreamSource
trait MyXML {
case class ElémentXML(code_xml: scala.xml.Elem) {
def validate: Boolean = {
try ({
val schemaLang = "http://www.w3.org/2001/XMLSchema"
val factory = SchemaFactory.newInstance(schemaLang)
val schema = factory.newSchema(new StreamSource("Sites_types_libelles.xsd"))
val validator = schema.newValidator()
validator.validate(new StreamSource(code_xml.toString))
true
}) catch {
case t:Throwable => false
}
}
}
object ElémentXML {
def apply(fichier: String) {
try{
val xml_chargé = xml.XML.loadFile(fichier)
Some(new ElémentXML(xml_chargé))
}catch{
case e:Throwable => None
}
}
}
}
这是使用此类的应用程序的代码:
val xml1:ElémentXML = ElémentXML("app/models/exemple_bon.xml")
xml1 must not beEqualTo(None)
错误是:
type mismatch; found : String("app/models/exemple_bon.xml") required:
scala.xml.Elem
我根本不明白这个错误(以及如何删除它)。
谢谢!