gpt4 book ai didi

java - JAXB 解码而不解码嵌套列表

转载 作者:太空宇宙 更新时间:2023-11-04 12:39:54 25 4
gpt4 key购买 nike

我在 JAXB 解码中遇到了一个新问题

将此字符串作为输入

<ruleGroup id="1602" name="TestObject">
<simple column="simple" type="value" operator="equals" value="1" not="true"/>
</ruleGroup>

该类不解析嵌套列表元素,仅解析普通属性(表示为 JSON):

{"id":1602,"name":"TestObject"}

这里有什么问题吗?我的类(class)是:

@XmlRootElement(name = "ruleGroup")
public class RuleGroup {

@XmlAttribute(name = "id")
public Long id;
@XmlAttribute(name = "name")
public String name;

@XmlElement(name = "simple")
public List<SimpleXML> simple;
}

public class SimpleXML {
@XmlAttribute(name = "column")
public String column = null;
@XmlAttribute(name = "type")
public String type = null;
@XmlAttribute(name = "operator")
public String operator = null;
@XmlAttribute(name = "value")
public String value = null;
@XmlAttribute(name = "not")
}

我的解码非常标准:

RuleGroup rule;
JAXBContext jaxbContext = JAXBContext.newInstance(RuleGroup.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
StringReader reader = new StringReader(test);
JAXBElement<RuleGroup> root = jaxbUnmarshaller.unmarshal(new StreamSource(reader), RuleGroup.class);
rule = (RuleGroup) root.getValue();

所以我不知道问题出在哪里。关于我做错了什么有什么想法吗?

最佳答案

在 Java 8 中运行代码解决了该问题。如果有人想澄清为什么 Marshaller 受到影响,我很想知道答案

关于java - JAXB 解码而不解码嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36925759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com