【问题标题】:How to get xml attribute and values using JAXB如何使用 JAXB 获取 xml 属性和值
【发布时间】:2015-09-01 07:42:30
【问题描述】:

我是 Jaxb 的新手,我有一个包含许多属性的 xml 文件,所以我想要具有值的属性

我的 XML

     <message_mapping>    
<message Rtype="DIAGNOSTIC" direction="2" name="Diagnostic" mode="">
            <field tag="USERNAME"       source="I" tranData="username"  required="false" dataType="string" defaultValue="" />
            <field tag="PASSWORD"       source="I" tranData="password"  required="true"  dataType="string" defaultValue="" />
            <field tag="LOCALDATETIME"  source="E" tranData="trxDateTime" required="true"     dataType="string" defaultValue=""/>
</message>
</message_mapping>

【问题讨论】:

    标签: xml parsing jaxb


    【解决方案1】:

    我想你有你的课 MessageMapping.java 又具有 Message.java 类型的消息列表(或一个?不知道)。 Message.java 又将由 Field.java 类型的字段列表构成。 课程如下:

        @XmlAccessorType(XmlAccessType.FIELD)
        public class Field {
    
            @XmlAttribute
            private String tag;
    
            @XmlAtrribute
            private String source;
    
            @XmlAtrribute
            private String tranData;
    
            @XmlAtrribute
            private String dataType;
    
            @XmlAtrribute
            private String defaultValue;
    
            /*
            GETTER AND SETTER HERE
            */
    
        }
    

    Message.java 是这样的:

            @XmlAccessorType(XmlAccessType.FIELD)
            public class Message {
                private List<Field> fields;
                private String Rtype;
                private String direction;
                private String name;
                private String mode;
    
                /*
                GETTER AND SETTER HERE
                */
            }
    

    最终,message_mapping 类将需要按照您认为合适的方式构建,以容纳消息列表或单个消息列表,不知道您的规范是什么。 希望对您有所帮助。

    【讨论】:

    • 谢谢,但你有任何最终 message_mapping 类的例子吗?
    • @XmlRootElement 公共类 MessageMapping { List 消息; /* 你的 GETTER 和 SETTER 这里 */ } 但是你知道如果你有一个 xsd 你可以通过 jaxb 自动构建类,对吗?
    • 谢谢我尝试,但在没有 getter setter 的字段类中,他们读正确
    猜你喜欢
    • 2013-02-06
    • 2021-04-30
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多