当前位置: 首页 > 知识库问答 >
问题:

为什么在用Jackson解析时我的XML列表没有被解析?

壤驷鸿祯
2023-03-14

<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
<gesmes:subject>Reference rates</gesmes:subject>
<gesmes:Sender>
    <gesmes:name>European Central Bank</gesmes:name>
</gesmes:Sender>
<Cube>
    <Cube time="2022-05-06">
        <Cube currency="USD" rate="1.0570"/>
        <Cube currency="JPY" rate="137.90"/>
        <Cube currency="BGN" rate="1.9558"/>
        <Cube currency="CZK" rate="24.665"/>
        <Cube currency="DKK" rate="7.4400"/>
        <Cube currency="GBP" rate="0.85625"/>
        <Cube currency="HUF" rate="381.47"/>
        <Cube currency="PLN" rate="4.7028"/>
        <Cube currency="RON" rate="4.9490"/>
        <Cube currency="SEK" rate="10.4686"/>
        <Cube currency="CHF" rate="1.0419"/>
        <Cube currency="ISK" rate="138.30"/>
        <Cube currency="NOK" rate="9.9808"/>
        <Cube currency="HRK" rate="7.5336"/>
        <Cube currency="TRY" rate="15.8078"/>
        <Cube currency="AUD" rate="1.4888"/>
        <Cube currency="BRL" rate="5.3183"/>
        <Cube currency="CAD" rate="1.3560"/>
        <Cube currency="CNY" rate="7.0506"/>
        <Cube currency="HKD" rate="8.2969"/>
        <Cube currency="IDR" rate="15312.44"/>
        <Cube currency="ILS" rate="3.5965"/>
        <Cube currency="INR" rate="81.2980"/>
        <Cube currency="KRW" rate="1343.90"/>
        <Cube currency="MXN" rate="21.3555"/>
        <Cube currency="MYR" rate="4.6191"/>
        <Cube currency="NZD" rate="1.6440"/>
        <Cube currency="PHP" rate="55.467"/>
        <Cube currency="SGD" rate="1.4642"/>
        <Cube currency="THB" rate="36.303"/>
        <Cube currency="ZAR" rate="16.9614"/>
    </Cube>
</Cube>
</gesmes:Envelope>

Envelope.java

@Data
public class Envelope {
@JacksonXmlProperty(localName = "Cube")
private MainCube mainCube;
}

主ube.java

@Data
public class MainCube {
    @JacksonXmlProperty(localName = "Cube")
    private Cube cube;
}

Cube.java(直到这里它的工作)

@Data
public class Cube {
    @JacksonXmlProperty(localName = "time", isAttribute = true)
    private String time;

    @JacksonXmlElementWrapper
    @JacksonXmlProperty(localName = "Cube")
    List<CurrencyCube> currencyCubeList;
}

货币ube.java

@Data
public class CurrencyCube {
    @JacksonXmlProperty(localName = "rate", isAttribute = true)
    private Double rate;

    @JacksonXmlProperty(localName = "currency", isAttribute = true)
    private String currency;
}

共有1个答案

别永年
2023-03-14

可以通过在列表上方的注释中使用useWraping=false来解决它

@JacksonXmlProperty(localName = "Cube")
@JacksonXmlElementWrapper(useWrapping = false)
List<CurrencyCube> currencyCubeList;
 类似资料:
  • 谁能帮我找出我在这里做错了什么。我必须解析下面的XML字符串 为此,我有三个bean要映射,如下所示 我试图像下面这样解析 我使用的是jackson-dataformat-xml版本2.9.8。

  • 我有一个遵循标准Maven结构的项目: null null 我从正在解析的类(在src/java/test目录中)获取了静态导入,并将其粘贴到无法解析assertTrue的类(在src/java/main目录中)中,该类没有解析它。 因此使用是行不通的。 使用也不起作用。 编辑: 我在最初的文章中没有说清楚的一点是,这不是一个带有单元测试的标准Java项目。该项目是另一个Java程序的集成测试框架

  • 解析下面的XML时。第一个< code > URL-formatted-exception 是在解析时出现的,所以在代码中我没有给出xml字符串,而是使用了这个代码 根据这个链接 java.net.MalformedURLException:无协议 现在我得到的节点值为空。我怎么能克服这个.在 for 循环中的代码中,我提到了节点的空值出现的位置 我正在使用以下代码: 解析XML:

  • 问题内容: 我有这个jQuery来响应被单击的按钮并调用REST方法: 不仅仅是不调用REST方法-此处理程序显然根本没有触发,因为我没有看到任何警报(“ 单击该按钮。 ”或“ 嘿,嘘! ”)。 该脚本 是 被添加- I可以通过它步骤,和瓦尔(如“unitval”) 被 被分配相应的值。 那么,为什么要单击这样声明的按钮: …没做什么? 这是要添加的脚本(从“视图”>“页面源”): 这可能并不相关

  • 问题内容: 以下是难以解析XML和HTML的一些原因: 人们希望将文件视为一系列行,但这是有效的: 人们希望将<或<tag视为标签的开头,但是类似的东西却普遍存在: 人们通常希望将开始标签与结束标签匹配,但是XML和HTML允许标签包含它们自己(传统的正则表达式根本无法处理): 人们通常希望将其与文档内容进行匹配(例如著名的“在给定页面上查找所有电话号码”问题),但是数据可能会被标记(即使在查看时