我已经从Java运行Ruta脚本并将生成的CAS对象转换为xmi文件,如下所示;
FileOutputStream fileOutputStream = new FileOutputStream(outputXmiFile);
XmiCasSerializer.serialize(cas, fileOutputStream);
当我尝试将其转换回CAS对象(在另一台服务器上)时,如下所示;
FileInputStream fileInputStream = new FileInputStream(xmiFile);
XmlCasDeserializer.deserialize(fileInputStream, cas);
我得到以下例外;
XCASParsingException: Error parsing XCAS or XMI-CAS from source <unknown> at line <unknown>, column <unknown>: unknown type: NULL.
答案 0 :(得分:1)
呀谢谢!它奏效了!
import org.apache.uima.util.CasIOUtils;
CAS到XMI
CasIOUtils.save(cas, fileOutputStream, SerialFormat.XMI);
XMI到CAS
CasIOUtils.load(fileInputStream, cas);
答案 1 :(得分:0)
当您的XMI文件确实有问题时,就会发生此问题。
提示: 打开XMI文件的另一种方法可能是使用XmiReader。
File xmlFile = new File("/path/to/file.xmi");
CollectionReaderDescription description = createReaderDescription(
XmiReader.class,
XmiReader.PARAM_SOURCE_LOCATION, xmlFile
);