如何使用JAXB获取xml属性和值

时间:2015-06-16 13:04:48

标签: xml parsing jaxb

我是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>

1 个答案:

答案 0 :(得分:0)

我想你有你的班级 MessageMapping.java,它依次是Message.java类型的消息列表(或一个?dunno)。 反过来,Message.java将使用Field.java类型的Field列表进行结构化。 课程如下:

    @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类以容纳消息列表或单个消息列表,不知道您的规范是什么。 希望它有所帮助。