- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一组属性,单个属性的每个值要么是标量(字符串、整数……),要么是标量集合(集合、集合……)。以下是一个 XML 文档作为示例:
<properties xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:java="http://java.oracle.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<property name="test#1" xsi:type="xs:int">1</property>
<property name="test#2" xsi:type="java:int[]">
<value xsi:type="xs:int">1</value>
<value xsi:type="xs:int">2</value>
<value xsi:type="xs:int">3</value>
<value xsi:type="xs:int">4</value>
</property>
</properties>
这是我想使用的类,但我不知道如何正确标记值字段以使用和生成此结构。它必须以标量或标量列表的形式包含属性元素的解析内容。数据类型作为属性值出现。
@XmlRootElement(name = "property")
public class Property {
@XmlAttribute(name = "name")
protected String name;
@???
protected Object value;
}
使用两个字段protected Object scalar
和protected List<Object> list
,其中一个标记为 @XmlValue
,另一个为 @XmlElement(name = "value")
不工作。
有人有想法吗?
我标记了Property
如下:
@XmlRootElement(name = "property")
public class Property {
@XmlAttribute(name = "name")
protected String name;
@XmlJavaTypeAdapter(Test2Adapter.class)
@XmlPath(".")
protected Object value;
}
我已经部分实现了以下适配器类
public class Test2Adapter extends XmlAdapter<AdaptedValue, Object> {
@Override
public Object unmarshal(AdaptedValue v) throws Exception {
if (v instanceof Scalar) {
return ((Scalar) v).value;
}
if (v instanceof Complex) {
return ((Complex) v).value;
}
return null;
}
@Override
public AdaptedValue marshal(Object v) throws Exception {
if (v instanceof String) {
Scalar s = new Scalar();
s.value = v;
return s;
}
if (v instanceof Collection) {
Complex c = new Complex();
c.value = (Collection<? extends Object>) v;
return c;
}
return null;
}
调整值:
@XmlSeeAlso({ Scalar.class, Complex.class })
public abstract class AdaptedValue {
}
标量:
public class Scalar extends AdaptedValue {
@XmlValue
public Object value;
}
复杂:
public class Complex extends AdaptedValue {
@XmlAttribute(name = "xsi:type")
public String type;
@XmlElement(name = "value")
public Collection<? extends Object> value
}
一切都已正确编码,但解码不起作用。我收到以下异常:
javax.xml.bind.UnmarshalException
- with linked exception:
[Exception [EclipseLink-43] (Eclipse Persistence Services - 2.4.1.v20121003-ad44345):
org.eclipse.persistence.exceptions.DescriptorException
Exception Description: Missing class for indicator field value [xs:string] of type[class java.lang.String].
Descriptor:
XMLDescriptor(com.materna.osgi.service.cm.rest.resource.representation.Test2Adapter$AdaptedValue --> [])]
at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:190)
最佳答案
如果我没记错的话,您需要一个名为 XmlJavaTypeAdapter 的东西。我很久以前就用过这个,现在手边没有我的代码,但是请看一下链接,如果您仍然遇到困难,请给我留言。
http://weblogs.java.net/blog/kohsuke/archive/2005/04/xmladapter_in_j.html
在上面帖子的评论部分,“pomcompot”提到使用列表/集合的包装器。我记得使用了包装类并且它有效。
http://www.caucho.com/resin-3.1/doc/jaxb-annotations.xtp#XmlJavaTypeAdapter
关于java - JAXB/MOXy : How to un-/marshall a field containing a scalar or list of scalars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14872519/
我知道关于这个错误已经有几个问题了。但在这种特殊情况下,我不确定是否已经有解决我的问题的方法。 我有这部分代码,我想打印 Dataframe df 的“y”列。 出现以下错误: 类型错误:只有整数标量
我为这个问题做了一个更简单的两个数组的例子: labelArray 是一个一维数组,在索引处有标签,对应于 nD 数组 someValuesArray。我得到了标签 2 出现的所有索引,并希望检索 s
我正在尝试 github link 中的 tensorflow 的简单演示代码. 我目前使用的是python 3.5.2版 Z:\downloads\tensorflow_demo-master\te
我在一个图像数组中有一些真实图像,而在另一个图像数组中有一些虚假图像。我想附加两个numpy图像阵列来训练我的CNN模型。但是np.concatenate产生错误only integer scalar
我有一组属性,单个属性的每个值要么是标量(字符串、整数……),要么是标量集合(集合、集合……)。以下是一个 XML 文档作为示例: 1 1 2
我首先要说的是,我对 python 和 Stack Overflow 非常陌生。我正在尝试对一堆不同的数组进行操作。这些数组之一的示例是 s2 = np.array( ['e','e','e','k'
i=np.arange(1,4,dtype=np.int) a=np.arange(9).reshape(3,3) 和 a >>>array([[0, 1, 2], [3, 4,
重命名DataFrame的列后,合并新列时出现错误: import pandas as pd df1 = pd.DataFrame({'a': [1, 2]}) df2 = pd.DataFrame(
我正在我的代码中寻找一个奇怪的运行时错误,该错误是一致的。我在一行中得到了我认为未定义的行为:Eigen::Vector3d m = d1 * cos(theta) + d2 * sin(theta)
我正在尝试这样做: for i in cols: print('rmse value for', i, 'is : ', np.sqrt(mean_squared_error(pred[i],
我试图找到数据集最大值处的 x 值以及每个最大值所在的峰值宽度。我已经厌倦了下面的代码,第一部分正确返回峰值 x 位置,但是一旦添加第二部分,它就会失败并显示错误消息: TypeError: only
我想创建一个程序来使用 SVM 对文本数据进行分类。但在此之前,我必须使用 StratifiedKFold() 将数据拆分为训练数据和测试数据。 但它以这个错误结束: 'Traceback (most
我正在尝试为我的神经网络实现自定义数据集。但是在运行转发功能时出现此错误。代码如下。 import torch import torch.nn as nn import torch.nn.functi
我确信我错过了一些简单的事情,但在格式为“对象”的日期列的“to_datetime”转换过程中,我遇到了此类型错误。我尝试了此代码的不同变体,但仍然遇到相同的错误。我正在使用 PyCharm IDE。
尝试对包含 279 个文件的数据集执行 Kfold cv,执行 k 均值后,文件的形状为 ( 279 , 5 , 90) 。我重新调整了它的形状,以便适合 svm。现在的形状是(279, 5*90)。
我在这里使用 Arjun Comar 版本的 OpenCV 3.0 https://github.com/arjuncomar/opencv ...Arjun Comar 更新了此版本的 OpenCV
以下代码: x = list(range(0,10)) random.shuffle(x) ind = np.argsort(x) x[ind] 产生错误:TypeError: only intege
这个问题在这里已经有了答案: Concatenating two one-dimensional NumPy arrays (6 个答案) 关闭 5 年前。 我想将 numpy 数组存储到另一个 n
我有一个 PyTorch LSTM 模型,我的forward 函数如下所示: def forward(self, x, hidden): print('in forward',
我正在尝试通过 PyTorch 训练分类器。但是,当我向模型提供训练数据时,我遇到了训练问题。我在 y_pred = model(X_trainTensor) 上收到此错误: RuntimeError
我是一名优秀的程序员,十分优秀!