我有这个 Java 代码(源代码):
// Deserialize
Person person = new Person();
InputStream in;
XmlIOUtil.mergeFrom(in, person, Person.getSchema());
// Do stuff...
// Serialize back into XML
OutputStream out;
XmlIOUtil.writeTo(out, person, Person.getSchema());
假设我的 XML 代码包含未知字段,这些字段不在模式中(即提供的 XML 是由较新版本的软件生成的)。
当我再次序列化它们时,是否有一种很好、干净的方法来保留这些字段?我知道协议缓冲区保留未知字段。
一种解决方案是将原始 XML 复制到缓冲区中,然后将新序列化的 XML 与原始 XML 合并,但这似乎过于复杂。