问题标签 [xmlencoder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - XMLEncoder 是否保证编码对象字段的固定顺序?
如果我使用java.beans.XMLEncoder (Java 1.6)对类进行编码,如下所示:
someFile
当我在不同的物理机器(也使用 Java 1.6)上运行时,写入的结果具有不同的元素顺序。
对由 编码的对象的字段顺序有任何保证XMLEncoder
吗?
如果不是,我如何强制执行每次对对象进行 xml 编码时都相同的排序?
java - java - 如何使用Java中的XMLEndcoder在xml文件中写入带有数据的JTable状态
我想使用 .xml 保存JTable
在 xml 文件中XMLEncoder
。当我们将其保存到文件中时,出现异常:
java - 试图将对象数组转换为 XML,无法获取对象标头
我正在使用这个 XML 转换器,但我没有得到对象头来包装每个对象的属性......我也找不到编码器类中的方法来执行此操作。
代码遍历我的数组并列出所有不为空的对象。
我得到这个结果:
如果我做更多的对象条目,那么它最终会成为一个大列表,这无济于事,因为我想要实现的另一个功能是从 XML 文件读取到数组中......任何帮助也将是有用的!
编辑:基于给出的答案的新信息:
那么没有无参数构造函数就没有办法实现这一点吗?我已经在两个类中实现了 Serializable 以实现良好的衡量...我正在使用这一行来添加新对象:
它使用这个:
下面是对象本身:
有什么建议么?
java - Java XMLEncoder 枚举行为意外
我遇到了我认为枚举和 XMLEncoder 的问题。
枚举只被正确编码一次,所以我的输出如下:
注意第二张卡片,cardValue 属性没有完全展开枚举。我希望它是:
我的期望错了吗?这是枚举应该表现的方式吗?我已经看到了一些关于单例如何需要特殊编码的东西,枚举是这种情况吗?
重现此的代码如下。我有一个带有几个枚举的基卡类:
还有一个甲板类:
java - XMLEncoder 无法正确写入文件
我有一个应该将对象写入 XML 文件的方法
这个类有4个字段
还有很多方法,save(OutputStream os)
上面介绍了一种方法。
但是 XMLEncoder 只写这个
有什么问题?
java - java.beans.XMLEncoder 的直接替换
我有很多依赖java.beans.XMLEncoder
XML 格式的 XSL 转换,我想知道是否可以找到性能更好的替代库。我看过XStream但它的序列化格式不同。
我正在寻找替换它,因为我正在使用具有分叉版本的遗留代码库,XMLEncoder
并且我想将其恢复为更标准的东西,但java.beans.XMLEncoder
性能要差得多。
对于一个类Person
(具有适当的 getter 和 setter):
XMLEncoder
生成如下 XML:
我猜可以创建一堆 XStream 转换器来近似格式,但我想知道在我进入那个兔子洞之前是否有更简单的解决方案。
java - 从 XMLEncoder 的序列化中排除 byte[]
问题是如何byte[]
排除 XMLEncoder 的序列化,但我需要将此字段保存到 DB。我有一个对象
和编码器:
我需要序列化除数组字段之外的所有字段。
transient
属性修饰符不起作用;
@Transient
get 方法上的注释不起作用;
@XMLTransient
属性上的注释不起作用。这很简单,但我需要社区的帮助!
java - 为什么使用 XMLEncoder 来序列化 java 中的对象?
我知道 java 对象可以序列化为文件,但是在什么情况下我们需要使用 XMLEncoder 并将对象序列化为 XML?
我开始掌握 Java EE,并且我知道我们可以使用这种方法序列化 bean,但是为什么我们需要这样做以及出于什么目的?
java - XMLEncoder writeObject 跳过在构造函数中初始化的属性
XMLEncoder 如何知道在对象的构造函数中设置了一个属性,从而避免输出它?
这是一个简单的示例(在 Java 1.8 上运行),它演示了这一点:首先定义一个带有 getter 和 setter 以及默认构造函数的简单对象:
现在,实例化对象的 main 函数在其中一个属性上使用 setter,并在最终对象上调用 XMLEncoder。为了确保在调用编码器之前我还打印了对象的属性:
运行程序,我得到了预期的输出: m=1,n=7 但是,当我查看生成的文件时,我得到:
在这里我们看到只有一个属性是由 XMLEncoder 输出的,而之前的对象打印输出显示这两个属性都设置了它们的值。就好像 XMLEncoder 有一个水晶球,并且知道过去发生了什么!
java - 当类字段为私有时,XMLEncoder 不写入对象数据
我有一个带有私有字段和公共方法的类。我的方法遵循 get/set 命名约定。当我的字段是私有的并且我尝试将我的对象数据写入 XML 文件时,我得到一个空的 XML 文件,但是当我将它们更改为公共时,XML 包含所有必要的数据。您认为这是什么原因造成的?