我有一个无法控制其生成方式的XML。我想通过将其分解为我手工编写的类来创建一个对象。
其结构的一个片段如下所示:
<categories>
<key_0>aaa</key_0>
<key_1>bbb</key_1>
<key_2>ccc</key_2>
</categories>
我该如何处理这种情况?当然,元素数是可变的。
如果使用以下对象模型,则每个未映射的key_#元素都将保留为org.w3c.dom.Element的实例:
import java.util.List;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlRootElement;
import org.w3c.dom.Element;
@XmlRootElement
public class Categories {
private List<Element> keys;
@XmlAnyElement
public List<Element> getKeys() {
return keys;
}
public void setKeys(List<Element> keys) {
this.keys = keys;
}
}
如果任何元素对应于使用@XmlRootElement批注映射的类,则可以使用@XmlAnyElement(lax =
true),已知元素将转换为相应的对象。有关示例,请参见:
问题内容: 我有一个类似的xml: 我想将元素映射到类MyBean中的属性 有什么办法可以做到吗?我正在使用JDK 1.6随附的jaxb 问题答案: 注意: 我是 EclipseLink JAXB(MOXy)的 负责人,并且是 JAXB(JSR-222) 专家组的成员。 使用任何JAXB(JSR-222)实现 使用任何JAXB(JSR-222)实现,您都可以使用来映射此用例。 ThetaValue
我无法在不了解根元素的情况下取消 XML 的编组。例如。 或 等等... 我想在类上映射解组结果,例如: 我总是需要修复< code>@XmlRootElement。< br >我搜索了如何在运行时设置@XmlRootElement,但没有成功。知道吗? 我在Spring Batch上下文中,我可以使用我选择的解组器。 注意:我不能使用这里显示的< code>@XmlElementDecl或< c
问题 你有一段通过下标访问列表或者元组中元素的代码,但是这样有时候会使得你的代码难以阅读, 于是你想通过名称来访问元素。 解决方案 collections.namedtuple() 函数通过使用一个普通的元组对象来帮你解决这个问题。 这个函数实际上是一个返回 Python 中标准元组类型子类的一个工厂方法。 你需要传递一个类型名和你需要的字段给它,然后它就会返回一个类,你可以初始化这个类,为你定义
仅当我从 XML 文件内的所有元素中删除“bpmn:”时,此代码才有效,否则它会引发以下异常: javax.xml.bind.UnmarshalException:意外元素(URI:"http://www.omg.org/spec/BPMN/20100524/MODEL",local:"定义") 我试图在不修改XML文件的情况下使其工作。任何帮助将不胜感激。提前致谢 :)
问题内容: 因此,我试图封送对象的一般列表,但我希望每个列表都具有特定的XmlRootElement(name ..)。我这样做的方式,我知道如果没有为每种类型的对象编写特定的包装器类并声明XmlRootElement,这实际上是不可能的。但是也许还有另一种方式…? 考虑以下类别: 如预期的那样,将产生: 我想要的是能够修改标签名称,具体取决于我创建EntityList所使用的实体的类型。 我知道
名称映射规则 跟名称相关的函数包含在 xorm.io/xorm/names 下。名称映射规则主要负责结构体名称到表名和结构体 field 到表字段的名称映射。由 names.Mapper 接口的实现者来管理,xorm 内置了三种 Mapper 实现:names.SnakeMapper , names.SameMapper和names.GonicMapper。 SnakeMapper 支持struc