簡體   English   中英

從jaxB中的XmlElement讀取xmlAttribute

[英]Reading xmlAttribute from XmlElement in jaxB

您好,我有以下xml:

使用以下代碼:

如何獲取每個元素的屬性DispalyName而不為Down和Up創建新類並使用@xmlAttribute。 我可以通過添加新的2個類UpElement和DownElement來解決它,並且為每個類獲取@xmlAttribute,但是我想在一個類中添加它。

Code Example:

        import javax.xml.bind.annotation.XmlAccessorType;
        import javax.xml.bind.annotation.XmlElement;
        import javax.xml.bind.annotation.XmlRootElement;


        @XmlRootElement(name = "StatusesList")
        @XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.FIELD)
        public class StatusesListElement
        {

            @XmlElement(name = "Down")
            private String down = "";


            @XmlElement(name = "Up")
            private String up = "";


            public String getDown()
            {
                return down;
            }


            public void setDown(String down)
            {
                this.down = down;
            }


            public String getUp()
            {
                return up;
            }


            public void setUp(String up)
            {
                this.up = up;
            }


        }

注意:我是EclipseLink JAXB(MOXy)的負責人,並且是JAXB 2(JSR-222)專家組的成員。

使用EclipseLink JAXB(MOXy)

您可以使用@XmlPath莫西的擴展映射這個用例:

import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;


@XmlRootElement(name = "StatusesList")
@XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.FIELD)
public class StatusesListElement
{

    @XmlPath("Down/@DisplayName")
    private String down = "";

    @XmlElement(name = "Up/@DisplayName")
    private String up = "";

}

使用任何JAXB實現

您可以在此用例中使用XmlAdapter 以下是我給出的答案的鏈接,該答案演示了如何完成此操作:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM