第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 JAXB 解析嵌套 XML 時(shí)出現(xiàn)的問(wèn)題

使用 JAXB 解析嵌套 XML 時(shí)出現(xiàn)的問(wèn)題

臨摹微笑 2022-08-03 15:50:46
我無(wú)法使用 jaxB 解析以下 xml 文件<?xml version="1.0" encoding="utf-8"?><Root>    <Status>1</Status>    <StatusMessage/>    <ResultSet>        <Columns count="2">            <col type="Decimal">COL1</col>            <col type="String">COL2</col>        </Columns>        <Rows count="3">            <row index="0">                <col index="0">1</col>                <col index="1">ABC</col>            </row>            <row index="1">                <col index="0">2</col>                <col index="1">DEF</col>            </row>            <row index="2">                <col index="0">3</col>                <col index="1">XYZ</col>            </row>        </Rows>    </ResultSet></Root>以下是我如何編寫(xiě)java對(duì)象    @XmlRootElement(name = "Root")    @XmlAccessorType(XmlAccessType.FIELD)    public class Root{          @XmlElement(name="Status")           private String status;          @XmlElement(name="StatusMessage")           private String statusMessage;          @XmlElement(name="ResultSet")          private ResultSet resultSet;    }@XmlAccessorType(XmlAccessType.FIELD)@XmlRootElement(name="ResultSet")public class ResultSet {    @XmlElement(name = "Columns")    MyColumns cols;    @XmlElementWrapper(name="Rows")    @XmlElement(name = "row")    List<MyRow> all;}@XmlRootElement(name = "Columns")public class MyColumns {    @XmlElement(name = "col")    private String columns1;    @XmlElement(name = "col")    private String columns2;}@XmlRootElement(name = "row")@XmlAccessorType(XmlAccessType.FIELD)public class MyRows {    @XmlElement(name = "col")    private String row1;    @XmlElement(name = "col")    private String row2;}我在解析時(shí)沒(méi)有得到任何異常,但MyRows和MyColumns中的數(shù)據(jù)為空。我懷疑的是MyRows中的XMLElement名稱。對(duì)于這兩個(gè)變量,名稱都是“col”。因此,它可能無(wú)法正確映射數(shù)據(jù)。解析此 xml 文件的正確方法是什么?
查看完整描述

1 回答

?
慕斯王

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊

您的 POJO 應(yīng)該更匹配您的行和列。我們創(chuàng)建了一個(gè) Column 類(我選擇了一個(gè)同時(shí)在 MyRow 和 MyColumns 中使用的類 - 兩者都有屬性)。


@XmlAccessorType(XmlAccessType.FIELD)

public class Column {


    @XmlAttribute

    private String type;

    @XmlAttribute

    private String index;

    @XmlValue

    private String value;

}

更改 MyColumns 以使用它:


@XmlRootElement(name = "Columns")

public class MyColumns {


    @XmlElement(name = "col")

    private List<Column> columns;


}

MyRow也是如此:


@XmlRootElement(name = "row")

@XmlAccessorType(XmlAccessType.FIELD)

public class MyRow {


    @XmlAttribute

    private String index;


    @XmlElement(name = "col")

    private List<Column> columns;

}


查看完整回答
反對(duì) 回復(fù) 2022-08-03
  • 1 回答
  • 0 關(guān)注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)